gui/pkg/container/mode_test.go
Snider 85c0d294e2
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Add RFC-backed coverage tests
2026-04-15 19:42:20 +01:00

63 lines
1.4 KiB
Go

package container
import (
"os"
"testing"
)
func TestDetectModeWithEnvironment(t *testing.T) {
mode := DetectModeWithEnvironment(ModeEnvironment{
Args: []string{"--mode=worker"},
})
if mode != ModeWorker {
t.Fatalf("expected worker mode, got %q", mode)
}
mode = DetectModeWithEnvironment(ModeEnvironment{
LookupEnv: func(key string) (string, bool) {
if key == "CORE_GUI_MODE" {
return "manager", true
}
return "", false
},
})
if mode != ModeManager {
t.Fatalf("expected manager mode, got %q", mode)
}
}
func TestMode_DetectMode_Good(t *testing.T) {
oldArgs := os.Args
os.Args = []string{"core-gui", "--mode=worker"}
t.Cleanup(func() { os.Args = oldArgs })
t.Setenv("CORE_GUI_MODE", "manager")
mode := DetectMode()
if mode != ModeWorker {
t.Fatalf("expected worker mode, got %q", mode)
}
}
func TestMode_DetectMode_Bad(t *testing.T) {
oldArgs := os.Args
os.Args = []string{"core-gui"}
t.Cleanup(func() { os.Args = oldArgs })
t.Setenv("CORE_GUI_MODE", "bogus")
mode := DetectMode()
if mode != ModeManager {
t.Fatalf("expected manager mode, got %q", mode)
}
}
func TestMode_DetectMode_Ugly(t *testing.T) {
oldArgs := os.Args
os.Args = []string{"core-gui", "--unexpected=flag"}
t.Cleanup(func() { os.Args = oldArgs })
t.Setenv("CORE_GUI_MODE", " \tbogus\n")
mode := DetectMode()
if mode != ModeManager {
t.Fatalf("expected manager mode after malformed input, got %q", mode)
}
}