Ship live alerts, pool status, AI monitor, remote agent commands, build manager, and uninstall flow; wire Calibrate settings (WS ping, pool traffic log, retention limits) at runtime and exclude server/data from git.
35 lines
705 B
Go
35 lines
705 B
Go
package api
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
)
|
|
|
|
func TestAuthPayloadWorkerNameFallback(t *testing.T) {
|
|
payload := map[string]string{
|
|
"worker_name": "forged-worker-1",
|
|
"hostname": "DESKTOP-ABC",
|
|
}
|
|
data, _ := json.Marshal(payload)
|
|
|
|
var auth struct {
|
|
WorkerName string `json:"worker_name"`
|
|
Worker string `json:"worker"`
|
|
Hostname string `json:"hostname"`
|
|
}
|
|
if err := json.Unmarshal(data, &auth); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
displayName := auth.WorkerName
|
|
if displayName == "" {
|
|
displayName = auth.Worker
|
|
}
|
|
if displayName == "" {
|
|
displayName = auth.Hostname
|
|
}
|
|
if displayName != "forged-worker-1" {
|
|
t.Fatalf("expected forged worker name, got %q", displayName)
|
|
}
|
|
}
|