MCPcopy Index your code
hub / github.com/dnote/dnote / TestParseGetSyncFragmentQuery

Function TestParseGetSyncFragmentQuery

pkg/server/controllers/sync_test.go:28–90  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

26)
27
28func TestParseGetSyncFragmentQuery(t *testing.T) {
29 testCases := []struct {
30 input string
31 afterUSN int
32 limit int
33 err error
34 }{
35 {
36 input: `after_usn=50&limit=50`,
37 afterUSN: 50,
38 limit: 50,
39 err: nil,
40 },
41 {
42 input: `limit=50`,
43 afterUSN: 0,
44 limit: 50,
45 err: nil,
46 },
47 {
48 input: `after_usn=50`,
49 afterUSN: 50,
50 limit: 100,
51 err: nil,
52 },
53 {
54 input: `after_usn=50&limit=100`,
55 afterUSN: 50,
56 limit: 100,
57 err: nil,
58 },
59 {
60 input: "",
61 afterUSN: 0,
62 limit: 100,
63 err: nil,
64 },
65 {
66 input: "limit=101",
67 afterUSN: 0,
68 limit: 0,
69 err: &queryParamError{
70 key: "limit",
71 value: "101",
72 message: "maximum value is 100",
73 },
74 },
75 }
76
77 for idx, tc := range testCases {
78 q, err := url.ParseQuery(tc.input)
79 if err != nil {
80 t.Fatal(errors.Wrap(err, "parsing test input"))
81 }
82
83 afterUSN, limit, err := parseGetSyncFragmentQuery(q)
84 ok := reflect.DeepEqual(err, tc.err)
85 assert.Equal(t, ok, true, fmt.Sprintf("err mismatch for test case %d. Expected: %+v. Got: %+v", idx, tc.err, err))

Callers

nothing calls this directly

Calls 2

EqualFunction · 0.92

Tested by

no test coverage detected