package server import "testing" func TestChallengeRecordName(t *testing.T) { if got := challengeRecordName("abc123.tunnel.tzgyn.dev"); got != "_acme-challenge.abc123.tunnel.tzgyn.dev" { t.Errorf("challengeRecordName = %q", got) } } func TestRelativeRecordName(t *testing.T) { got, err := relativeRecordName("_acme-challenge.abc123.tunnel.tzgyn.dev", "tzgyn.dev") if err != nil || got != "_acme-challenge.abc123.tunnel" { t.Errorf("relativeRecordName = %q, %v", got, err) } if _, err := relativeRecordName("_acme-challenge.other.example.com", "tzgyn.dev"); err == nil { t.Error("expected an error for a record outside the zone") } } func TestDNSZone(t *testing.T) { cases := map[string]string{ "tunnel.tzgyn.dev": "tzgyn.dev", "tzgyn.dev": "tzgyn.dev", "a.b.example.co.uk": "b.example.co.uk", "localhost": "localhost", } for domain, want := range cases { if got := DNSZone(domain); got != want { t.Errorf("DNSZone(%q) = %q, want %q", domain, got, want) } } }