package serviceadapter_test import ( "net/http" "net/http/httptest" "strings" "testing" "forgejo.riotpiao.com/rock/homelab-frontend/internal/serviceadapter" "forgejo.riotpiao.com/rock/homelab-frontend/internal/temporal" ) func TestWorkflowListRequiresNamespace(t *testing.T) { th := temporal.NewHandler("localhost:7233") wfAdapter := serviceadapter.NewWorkflowAdapter(th) wfSpec := serviceadapter.GetWorkflowSpec() adapter := &serviceadapter.ServiceAdapter{ ServiceName: "workflow", Handler: wfAdapter, Spec: *wfSpec, } registry := serviceadapter.NewRegistry(nil) registry.Add(adapter) dispatcher := serviceadapter.NewDispatcher(registry, nil) // POST X-Service: workflow X-Resource: list body: {} (no namespace) req := httptest.NewRequest(http.MethodPost, "/", strings.NewReader(`{}`)) req.Header.Set("X-Service", "workflow") req.Header.Set("X-Resource", "list") req.Header.Set("Content-Type", "application/json") w := httptest.NewRecorder() dispatcher.Dispatch(w, req) t.Logf("Status: %d Body: %s", w.Code, w.Body.String()) if w.Code != http.StatusBadRequest { t.Errorf("expected 400, got %d", w.Code) } }