MCPcopy Create free account
hub / github.com/cronitorio/cronitor-cli / TestFetchAllPages_PageQueryParamsIncrement

Function TestFetchAllPages_PageQueryParamsIncrement

cmd/ui_test.go:135–181  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

133}
134
135func TestFetchAllPages_PageQueryParamsIncrement(t *testing.T) {
136 viper.Set("CRONITOR_API_KEY", "test-key")
137 defer viper.Set("CRONITOR_API_KEY", "")
138
139 var receivedPages []string
140
141 server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
142 page := r.URL.Query().Get("page")
143 receivedPages = append(receivedPages, page)
144
145 var body string
146 switch page {
147 case "", "1":
148 body = `{"items":[{"id":1}]}`
149 case "2":
150 body = `{"items":[{"id":2}]}`
151 default:
152 body = `{"items":[]}`
153 }
154 w.Header().Set("Content-Type", "application/json")
155 w.WriteHeader(200)
156 w.Write([]byte(body))
157 }))
158 defer server.Close()
159
160 client := &lib.APIClient{
161 BaseURL: server.URL,
162 ApiKey: "test-key",
163 UserAgent: "test",
164 }
165
166 _, err := FetchAllPages(client, "/monitors", nil, "items")
167 if err != nil {
168 t.Fatalf("unexpected error: %v", err)
169 }
170
171 // Expect page params: "1", "2", "3"
172 if len(receivedPages) != 3 {
173 t.Fatalf("expected 3 page requests, got %d: %v", len(receivedPages), receivedPages)
174 }
175
176 for i, expected := range []string{"1", "2", "3"} {
177 if receivedPages[i] != expected {
178 t.Errorf("request %d: expected page=%s, got page=%s", i, expected, receivedPages[i])
179 }
180 }
181}
182
183func TestFetchAllPages_SafetyLimitAt200(t *testing.T) {
184 viper.Set("CRONITOR_API_KEY", "test-key")

Callers

nothing calls this directly

Calls 4

FetchAllPagesFunction · 0.85
GetMethod · 0.80
CloseMethod · 0.80
WriteMethod · 0.45

Tested by

no test coverage detected