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) } } }