(t *testing.T)
| 61 | } |
| 62 | |
| 63 | func TestAPIWrapper(t *testing.T) { |
| 64 | tmpDir, err := os.MkdirTemp("", "api-wrapper-test") |
| 65 | require.NoError(t, err) |
| 66 | defer os.RemoveAll(tmpDir) |
| 67 | |
| 68 | logger := slog.New(slog.NewTextHandler(os.Stdout, nil)) |
| 69 | tracker := NewRequestTracker(tmpDir, "apis.active", 10, logger) |
| 70 | require.NotNil(t, tracker) |
| 71 | defer tracker.Close() |
| 72 | |
| 73 | handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 74 | w.WriteHeader(http.StatusOK) |
| 75 | }) |
| 76 | |
| 77 | wrapper := NewRequestWrapper(handler, tracker, &ApiExtractor{}) |
| 78 | |
| 79 | req := httptest.NewRequest("GET", "/api/v1/series?match[]=up", nil) |
| 80 | rr := httptest.NewRecorder() |
| 81 | wrapper.ServeHTTP(rr, req) |
| 82 | assert.Equal(t, http.StatusOK, rr.Code) |
| 83 | } |
| 84 | |
| 85 | func TestAPIWrapperNilTracker(t *testing.T) { |
| 86 | handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
nothing calls this directly
no test coverage detected