65 lines
1.5 KiB
Go
65 lines
1.5 KiB
Go
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)
|
|
}
|
|
}
|