MCPcopy Create free account
hub / github.com/akash-network/node / TestDecodePaginationKey

Function TestDecodePaginationKey

util/query/pagination_test.go:91–218  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

89}
90
91func TestDecodePaginationKey(t *testing.T) {
92 type testCase struct {
93 name string
94 input []byte
95 wantStates []byte
96 wantPrefix []byte
97 wantKey []byte
98 wantUnsol []byte
99 wantErr bool
100 wantErrString string
101 }
102
103 tests := []testCase{
104 {
105 name: "fail/too short key",
106 input: []byte{0x01, 0x02, 0x03, 0x04},
107 wantErr: true,
108 },
109 {
110 name: "fail/invalid checksum",
111 input: []byte{0x01, 0x02, 0x03, 0x04, 0x01, 65},
112 wantErr: true,
113 wantErrString: "pagination: invalid key: invalid checksum, 0x01020304 != 0x591952b8",
114 },
115 {
116 name: "fail/invalid states length",
117 input: []byte{0xA5, 0x05, 0xDF, 0x1B, 1},
118 wantErr: true,
119 wantErrString: "pagination: invalid key: invalid state length",
120 },
121 {
122 name: "fail/invalid prefix length",
123 input: []byte{0x90, 0x9F, 0xB2, 0xF2, 0x01, 0x01, 0x01},
124 wantErr: true,
125 wantErrString: "pagination: invalid key: invalid state length",
126 },
127 {
128 name: "fail/invalid key length",
129 input: []byte{0x07, 0x0D, 0x81, 0xEB, 0x01, 0x01, 0x01, 0x02, 0x01},
130 wantErr: true,
131 wantErrString: "pagination: invalid key: invalid state length",
132 },
133 {
134 name: "fail/invalid unsolicited length",
135 input: []byte{0x3A, 0xC6, 0xEF, 0x36, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01},
136 wantErr: true,
137 wantErrString: "pagination: invalid key: invalid state length",
138 },
139 {
140 name: "pass/without unsolicited",
141 input: makeTestKey(t, []byte{1}, []byte{2}, []byte{3}, nil),
142 wantStates: []byte{1},
143 wantPrefix: []byte{2},
144 wantKey: []byte{3},
145 wantUnsol: nil,
146 wantErr: false,
147 wantErrString: "",
148 },

Callers

nothing calls this directly

Calls 4

makeTestKeyFunction · 0.85
DecodePaginationKeyFunction · 0.85
RunMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected