Files
overlord/Overlord-Client/cmd/agent/handlers/webrtc_ice_test.go
T
2026-07-17 16:01:48 -05:00

34 lines
1.0 KiB
Go

package handlers
import "testing"
func TestParseICEServers(t *testing.T) {
servers := parseICEServers([]interface{}{
map[string]interface{}{"urls": []interface{}{"stun:turn.example.test:3478"}},
map[string]interface{}{
"urls": []interface{}{"turn:turn.example.test:3478?transport=udp", "turn:turn.example.test:3478?transport=tcp", "https://invalid.example"},
"username": "expiry:agent",
"credential": "derived-secret",
},
})
if len(servers) != 2 {
t.Fatalf("server count = %d, want 2", len(servers))
}
if len(servers[1].URLs) != 2 {
t.Fatalf("TURN URL count = %d, want 2", len(servers[1].URLs))
}
if servers[1].Username != "expiry:agent" || servers[1].Credential != "derived-secret" {
t.Fatal("TURN credentials were not preserved")
}
}
func TestParseICEServersRejectsInvalidInput(t *testing.T) {
servers := parseICEServers([]interface{}{
map[string]interface{}{"urls": "https://not-an-ice-server"},
"invalid",
})
if len(servers) != 0 {
t.Fatalf("server count = %d, want 0", len(servers))
}
}