diff options
Diffstat (limited to 'middleware/file/closest_test.go')
-rw-r--r-- | middleware/file/closest_test.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/middleware/file/closest_test.go b/middleware/file/closest_test.go new file mode 100644 index 000000000..643e4943f --- /dev/null +++ b/middleware/file/closest_test.go @@ -0,0 +1,34 @@ +package file + +import ( + "strings" + "testing" + + "github.com/miekg/dns" +) + +func TestClosestEncloser(t *testing.T) { + z, err := Parse(strings.NewReader(dbMiekNL), testzone, "stdin") + if err != nil { + t.Fatalf("expect no error when reading zone, got %q", err) + } + + tests := []struct { + in, out string + }{ + {"miek.nl.", "miek.nl."}, + {"blaat.miek.nl.", "miek.nl."}, + {"blaat.blaat.miek.nl.", "miek.nl."}, + {"blaat.a.miek.nl.", "archive.miek.nl."}, + } + + mk, _ := dns.TypeToRR[dns.TypeA] + rr := mk() + for _, tc := range tests { + rr.Header().Name = tc.in + ce := z.ClosestEncloser(rr) + if ce != tc.out { + t.Errorf("expected ce to be %s for %s, got %s", tc.out, tc.in, ce) + } + } +} |