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

Function TestAPIClient_SiteEndpoints

lib/api_client_test.go:1010–1055  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1008}
1009
1010func TestAPIClient_SiteEndpoints(t *testing.T) {
1011 mock := testutil.NewMockAPI()
1012 defer mock.Close()
1013 client := newTestClient(mock.Server.URL)
1014
1015 tests := []struct {
1016 name string
1017 do func() (*lib.APIResponse, error)
1018 method string
1019 path string
1020 }{
1021 {"list sites", func() (*lib.APIResponse, error) { return client.GET("/sites", nil) }, "GET", "/sites"},
1022 {"get site", func() (*lib.APIResponse, error) { return client.GET("/sites/my-site", nil) }, "GET", "/sites/my-site"},
1023 {"create site", func() (*lib.APIResponse, error) {
1024 return client.POST("/sites", []byte(`{"name":"My Site"}`), nil)
1025 }, "POST", "/sites"},
1026 {"update site", func() (*lib.APIResponse, error) {
1027 return client.PUT("/sites/my-site", []byte(`{"name":"Updated"}`), nil)
1028 }, "PUT", "/sites/my-site"},
1029 {"delete site", func() (*lib.APIResponse, error) { return client.DELETE("/sites/my-site", nil, nil) }, "DELETE", "/sites/my-site"},
1030 {"query site", func() (*lib.APIResponse, error) {
1031 return client.POST("/sites/query", []byte(`{"site":"my-site","type":"aggregation"}`), nil)
1032 }, "POST", "/sites/query"},
1033 {"list site errors", func() (*lib.APIResponse, error) {
1034 return client.GET("/site_errors", map[string]string{"site": "my-site"})
1035 }, "GET", "/site_errors"},
1036 {"get site error", func() (*lib.APIResponse, error) { return client.GET("/site_errors/err-001", nil) }, "GET", "/site_errors/err-001"},
1037 }
1038
1039 for _, tt := range tests {
1040 t.Run(tt.name, func(t *testing.T) {
1041 mock.Reset()
1042 _, err := tt.do()
1043 if err != nil {
1044 t.Fatalf("unexpected error: %v", err)
1045 }
1046 req := mock.LastRequest()
1047 if req.Method != tt.method {
1048 t.Errorf("expected %s, got %s", tt.method, req.Method)
1049 }
1050 if req.Path != tt.path {
1051 t.Errorf("expected %s, got %s", tt.path, req.Path)
1052 }
1053 })
1054 }
1055}
1056
1057// --- Filter/Query Param Tests ---
1058

Callers

nothing calls this directly

Calls 9

CloseMethod · 0.95
ResetMethod · 0.95
LastRequestMethod · 0.95
NewMockAPIFunction · 0.92
newTestClientFunction · 0.85
GETMethod · 0.80
POSTMethod · 0.80
PUTMethod · 0.80
DELETEMethod · 0.80

Tested by

no test coverage detected