45 lines
1.5 KiB
Go
45 lines
1.5 KiB
Go
package agent
|
|
|
|
import "testing"
|
|
|
|
func TestBackendHost(t *testing.T) {
|
|
tests := []struct {
|
|
name, explicit, iface, server, want string
|
|
wantErr bool
|
|
}{
|
|
{"explizit", "100.64.0.42", "", "https://127.0.0.1:8443", "100.64.0.42", false},
|
|
{"explizit schlägt Interface", "192.168.1.5", "lo", "https://127.0.0.1:8443", "192.168.1.5", false},
|
|
{"Interface", "", "lo", "https://127.0.0.1:8443", "127.0.0.1", false},
|
|
{"unbekanntes Interface", "", "gibtsnicht0", "https://127.0.0.1:8443", "", true},
|
|
{"automatisch: Route zum Server", "", "", "https://127.0.0.1:8443", "127.0.0.1", false},
|
|
{"automatisch ohne Port", "", "", "https://127.0.0.1", "127.0.0.1", false},
|
|
}
|
|
for _, tt := range tests {
|
|
got, err := backendHost(tt.explicit, tt.iface, tt.server)
|
|
if (err != nil) != tt.wantErr || got != tt.want {
|
|
t.Errorf("%s: %q, %v; erwartet %q (Fehler=%v)", tt.name, got, err, tt.want, tt.wantErr)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestDefaultNodeID(t *testing.T) {
|
|
tests := map[string]string{
|
|
"pi": "pi",
|
|
"Proxmox-VM.42.local": "proxmox-vm-42-local",
|
|
"web__01": "web_01",
|
|
" -host- ": "host",
|
|
"äöü-box": "box",
|
|
}
|
|
for in, want := range tests {
|
|
got, err := DefaultNodeID(in)
|
|
if err != nil || got != want {
|
|
t.Errorf("DefaultNodeID(%q) = %q, %v; erwartet %q", in, got, err, want)
|
|
}
|
|
}
|
|
for _, bad := range []string{"", "---", "äöü"} {
|
|
if _, err := DefaultNodeID(bad); err == nil {
|
|
t.Errorf("DefaultNodeID(%q): erwartet Fehler", bad)
|
|
}
|
|
}
|
|
}
|