diff --git a/internal/server/server.go b/internal/server/server.go index a059918..71fbe57 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -84,7 +84,7 @@ func (s *Server) handleHealth(w http.ResponseWriter, _ *http.Request) { for i, h := range sorted { upstreams[i] = upstreamStatus{ URL: h.URL, - Status: strings.ToLower(h.Status.String()), + Status: h.Status.String(), LatencyMs: h.EMALatency, ConsecutiveFails: h.ConsecutiveFails, } diff --git a/internal/server/server_test.go b/internal/server/server_test.go index 9f73b68..223b370 100644 --- a/internal/server/server_test.go +++ b/internal/server/server_test.go @@ -431,6 +431,26 @@ func TestHealthEndpointDegraded(t *testing.T) { if len(resp.Upstreams) != 2 { t.Errorf("upstreams = %d, want 2", len(resp.Upstreams)) } + + var foundDegraded bool + for _, u := range resp.Upstreams { + if u.URL == "https://up2.example.com" && u.Status == "DEGRADED" { + foundDegraded = true + } + } + if !foundDegraded { + t.Error("expected up2 to have status DEGRADED") + } + + var foundActive bool + for _, u := range resp.Upstreams { + if u.URL == "https://up1.example.com" && u.Status == "ACTIVE" { + foundActive = true + } + } + if !foundActive { + t.Error("expected up1 to have status ACTIVE") + } } func TestHealthEndpointAllDown(t *testing.T) {