MCPcopy
hub / github.com/qustavo/httplab / TestResponsesList

Function TestResponsesList

response_test.go:81–135  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

79}
80
81func TestResponsesList(t *testing.T) {
82 rl := NewResponsesList()
83 rl.Add("200", &Response{Status: 200}).
84 Add("201", &Response{Status: 201}).
85 Add("404", &Response{Status: 404}).
86 Add("500", &Response{Status: 500})
87
88 t.Run("Len()", func(t *testing.T) {
89 assert.Equal(t, 4, rl.Len())
90 })
91
92 t.Run("Get()", func(t *testing.T) {
93 assert.Equal(t, 200, rl.Get("200").Status)
94 assert.Equal(t, 201, rl.Get("201").Status)
95 assert.Equal(t, 404, rl.Get("404").Status)
96 assert.Equal(t, 500, rl.Get("500").Status)
97 })
98
99 t.Run("Indexing", func(t *testing.T) {
100 assert.Equal(t, 200, rl.Cur().Status)
101 assert.Equal(t, 0, rl.Index())
102
103 rl.Next()
104 assert.Equal(t, 201, rl.Cur().Status)
105 assert.Equal(t, 1, rl.Index())
106
107 rl.Next()
108 assert.Equal(t, 404, rl.Cur().Status)
109 assert.Equal(t, 2, rl.Index())
110
111 rl.Next()
112 assert.Equal(t, 500, rl.Cur().Status)
113 assert.Equal(t, 3, rl.Index())
114
115 rl.Next()
116 assert.Equal(t, 200, rl.Cur().Status)
117 assert.Equal(t, 0, rl.Index())
118
119 rl.Prev()
120 assert.Equal(t, 500, rl.Cur().Status)
121 assert.Equal(t, 3, rl.Index())
122
123 rl.Prev()
124 assert.Equal(t, 404, rl.Cur().Status)
125 assert.Equal(t, 2, rl.Index())
126 })
127
128 t.Run("Del()", func(t *testing.T) {
129 for _, status := range []string{"200", "201", "404", "500"} {
130 assert.NotNil(t, rl.Get(status))
131 rl.Del(status)
132 assert.Nil(t, rl.Get(status))
133 }
134 })
135}
136
137func TestLoadFromJSON(t *testing.T) {
138 rl := NewResponsesList()

Callers

nothing calls this directly

Calls 9

AddMethod · 0.95
LenMethod · 0.95
GetMethod · 0.95
CurMethod · 0.95
IndexMethod · 0.95
NextMethod · 0.95
PrevMethod · 0.95
DelMethod · 0.95
NewResponsesListFunction · 0.85

Tested by

no test coverage detected