package console import ( "encoding/json" "net/http" "net/http/httptest" "strings" "testing" ) func TestHandlerServesSelfContainedConsoleWithSecurityHeaders(t *testing.T) { handler, err := NewHandler("http://127.0.0.1:8889/") if err != nil { t.Fatal(err) } request := httptest.NewRequest(http.MethodGet, "/sense-console/", nil) response := httptest.NewRecorder() handler.ServeHTTP(response, request) if response.Code != http.StatusOK { t.Fatalf("unexpected status: %d", response.Code) } body := response.Body.String() for _, required := range []string{"YoVision Sense", "/sense-console/app.css", "/sense-console/app.js"} { if !strings.Contains(body, required) { t.Fatalf("console HTML lacks %q", required) } } for _, forbidden := range []string{"http://", "https://", "