package utils
import (
"testing"
)
func TestGetBaseDomain(t *testing.T) {
tests := []struct {
fqdn string
expected string
}{
{"172-235-26-191.ip.linodeusercontent.com", "linodeusercontent.com"},
{"ec2-18-119-11-223.us-east-2.compute.amazonaws.com", "amazonaws.com"},
{"ip.linodeusercontent.com", "linodeusercontent.com"},
{"linodeusercontent.com", "linodeusercontent.com"},
{"google.com", "google.com"},
{"sub.google.com", "google.com"},
{"one.two.three.example.co.uk", "example.co.uk"},
{"something.cloud.google.com", "google.com"},
{"", ""},
{"localhost", "localhost"},
{"127.0.0.1", "127.0.0.1"},
{"random-host", "random-host"},
}
for _, tt := range tests {
t.Run(tt.fqdn, func(t *testing.T) {
actual := GetBaseDomain(tt.fqdn)
if actual != tt.expected {
t.Errorf("GetBaseDomain(%q) = %q, want %q", tt.fqdn, actual, tt.expected)
}
})
}
}