package webui import ( "net/http/httptest" "strings" "testing" "bee/audit/internal/app" ) func TestXrandrCommandAddsDefaultX11Env(t *testing.T) { t.Setenv("DISPLAY", "") t.Setenv("XAUTHORITY", "") cmd := xrandrCommand("--query") var hasDisplay bool var hasXAuthority bool for _, kv := range cmd.Env { if kv == "DISPLAY=:0" { hasDisplay = true } if kv == "XAUTHORITY=/home/bee/.Xauthority" { hasXAuthority = true } } if !hasDisplay { t.Fatalf("DISPLAY not injected: %v", cmd.Env) } if !hasXAuthority { t.Fatalf("XAUTHORITY not injected: %v", cmd.Env) } } func TestHandleAPISATRunDecodesBodyWithoutContentLength(t *testing.T) { globalQueue.mu.Lock() originalTasks := globalQueue.tasks globalQueue.tasks = nil globalQueue.mu.Unlock() t.Cleanup(func() { globalQueue.mu.Lock() globalQueue.tasks = originalTasks globalQueue.mu.Unlock() }) h := &handler{opts: HandlerOptions{App: &app.App{}}} req := httptest.NewRequest("POST", "/api/sat/cpu/run", strings.NewReader(`{"profile":"smoke"}`)) req.ContentLength = -1 rec := httptest.NewRecorder() h.handleAPISATRun("cpu").ServeHTTP(rec, req) if rec.Code != 200 { t.Fatalf("status=%d body=%s", rec.Code, rec.Body.String()) } globalQueue.mu.Lock() defer globalQueue.mu.Unlock() if len(globalQueue.tasks) != 1 { t.Fatalf("tasks=%d want 1", len(globalQueue.tasks)) } if got := globalQueue.tasks[0].params.BurnProfile; got != "smoke" { t.Fatalf("burn profile=%q want smoke", got) } }