You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/net/dns/publicdns/publicdns_test.go

42 lines
1.1 KiB
Go

// Copyright (c) 2022 Tailscale Inc & AUTHORS All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package publicdns
import (
"testing"
"tailscale.com/net/netaddr"
)
func TestInit(t *testing.T) {
for baseKey, baseSet := range DoHIPsOfBase() {
for _, addr := range baseSet {
if KnownDoH()[addr] != baseKey {
t.Errorf("Expected %v to map to %s, got %s", addr, baseKey, KnownDoH()[addr])
}
}
}
}
func TestDohV6(t *testing.T) {
tests := []struct {
in string
firstIP netaddr.IP
want bool
}{
{"https://cloudflare-dns.com/dns-query", netaddr.MustParseIP("2606:4700:4700::1111"), true},
{"https://dns.google/dns-query", netaddr.MustParseIP("2001:4860:4860::8888"), true},
{"bogus", netaddr.IP{}, false},
}
for _, test := range tests {
t.Run(test.in, func(t *testing.T) {
ip, ok := DoHV6(test.in)
if ok != test.want || ip != test.firstIP {
t.Errorf("DohV6 got (%v: IPv6 %v) for %v, want (%v: IPv6 %v)", ip, ok, test.in, test.firstIP, test.want)
}
})
}
}