Files
Containr/app/backend/internal/api/agents_helpers_test.go
T
2026-04-10 12:02:36 +02:00

60 lines
1.5 KiB
Go

package api
import (
"testing"
"time"
)
func TestIsValidAgentAuthToken(t *testing.T) {
t.Setenv("CONTAINR_AGENT_AUTH_TOKEN", "super-secret")
t.Setenv("CONTAINR_AGENT_AUTH_TOKENS", "")
if !isValidAgentAuthToken("super-secret") {
t.Fatalf("expected token to validate")
}
if isValidAgentAuthToken("wrong-token") {
t.Fatalf("expected invalid token to be rejected")
}
}
func TestConfiguredAgentAuthTokensCSV(t *testing.T) {
t.Setenv("CONTAINR_AGENT_AUTH_TOKEN", "")
t.Setenv("CONTAINR_AGENT_AUTH_TOKENS", "token-a, token-b ,token-c")
tokens := configuredAgentAuthTokens()
if len(tokens) != 3 {
t.Fatalf("expected 3 tokens, got %d (%v)", len(tokens), tokens)
}
if tokens[0] != "token-a" || tokens[1] != "token-b" || tokens[2] != "token-c" {
t.Fatalf("unexpected token list: %v", tokens)
}
}
func TestBuildMetricPointComputesPercentages(t *testing.T) {
point := buildMetricPoint(
time.Now(),
NodeResources{
CPU: CPUResources{
Cores: 4,
Usage: 32.5,
},
Memory: MemoryResources{
Total: 1000,
Used: 250,
Available: 750,
},
},
SystemLoad{Load1M: 1.1, Load5M: 0.9, Load15M: 0.5},
3,
)
mem := point["memory"].(map[string]interface{})
if mem["usage_percent"].(float64) != 25 {
t.Fatalf("expected memory usage percent 25, got %v", mem["usage_percent"])
}
cpu := point["cpu"].(map[string]interface{})
if cpu["usage_percent"].(float64) != 32.5 {
t.Fatalf("expected cpu usage percent 32.5, got %v", cpu["usage_percent"])
}
}