github.com/cozy/cozy-stack@v0.0.0-20240603063001-31110fa4cae1/web/status/status_test.go (about) 1 package status 2 3 import ( 4 "net/http/httptest" 5 "testing" 6 7 "github.com/cozy/cozy-stack/pkg/config/config" 8 "github.com/cozy/cozy-stack/tests/testutils" 9 "github.com/cozy/cozy-stack/web/errors" 10 "github.com/labstack/echo/v4" 11 ) 12 13 func TestStatus(t *testing.T) { 14 if testing.Short() { 15 t.Skip("an instance is required for this test: test skipped due to the use of --short flag") 16 } 17 18 config.UseTestFile(t) 19 20 t.Run("Routes", func(t *testing.T) { 21 handler := echo.New() 22 handler.HTTPErrorHandler = errors.ErrorHandler 23 Routes(handler.Group("/status")) 24 25 ts := httptest.NewServer(handler) 26 t.Cleanup(ts.Close) 27 28 e := testutils.CreateTestClient(t, ts.URL) 29 30 obj := e.GET("/status"). 31 Expect().Status(200). 32 JSON().Object() 33 34 obj.ValueEqual("cache", "healthy") 35 obj.ValueEqual("couchdb", "healthy") 36 obj.ValueEqual("fs", "healthy") 37 obj.ValueEqual("status", "OK") 38 obj.ValueEqual("message", "OK") 39 latencies := obj.Value("latency").Object() 40 latencies.Value("cache").String().NotEmpty() 41 latencies.Value("couchdb").String().NotEmpty() 42 latencies.Value("fs").String().NotEmpty() 43 }) 44 }