mirror of
https://github.com/Dvorinka/Containr.git
synced 2026-06-04 04:22:57 +00:00
60 lines
1.5 KiB
Go
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"])
|
|
}
|
|
}
|