Initial commit
This commit is contained in:
commit
6424f920dd
25 changed files with 3737 additions and 0 deletions
50
checker/dns_test.go
Normal file
50
checker/dns_test.go
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
package checker
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestJoinSubdomain(t *testing.T) {
|
||||
cases := []struct {
|
||||
sub, origin, want string
|
||||
}{
|
||||
{"", "example.com", "example.com."},
|
||||
{"@", "example.com", "example.com."},
|
||||
{"www", "example.com", "www.example.com."},
|
||||
{"www.", "example.com.", "www.example.com."},
|
||||
{"www.example.com", "example.com", "www.example.com."},
|
||||
{"example.com", "example.com", "example.com."},
|
||||
}
|
||||
for _, c := range cases {
|
||||
got := joinSubdomain(c.sub, c.origin)
|
||||
if got != c.want {
|
||||
t.Errorf("joinSubdomain(%q,%q) = %q, want %q", c.sub, c.origin, got, c.want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolvers_Explicit(t *testing.T) {
|
||||
got := resolvers("1.1.1.1, 8.8.8.8:5353 ,")
|
||||
want := []string{"1.1.1.1:53", "8.8.8.8:5353"}
|
||||
if !reflect.DeepEqual(got, want) {
|
||||
t.Errorf("got %v, want %v", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolvers_FallbackList(t *testing.T) {
|
||||
// We don't trust /etc/resolv.conf to be absent in all CI environments,
|
||||
// but the empty-input path must always return at least one resolver.
|
||||
got := resolvers("")
|
||||
if len(got) == 0 {
|
||||
t.Fatal("expected at least one resolver")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMaxAnswerRecords_Constant(t *testing.T) {
|
||||
// Sanity check: don't silently lower the cap to something useless
|
||||
// without updating tests / behaviour.
|
||||
if maxAnswerRecords < 8 {
|
||||
t.Errorf("maxAnswerRecords=%d is suspiciously low", maxAnswerRecords)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue