diff options
author | 2016-11-05 14:39:49 +0000 | |
---|---|---|
committer | 2016-11-05 14:39:49 +0000 | |
commit | 2cca527d9f17fd1595366545c47630bf35591873 (patch) | |
tree | d9cda7808a085db5705bdbbffc7bc8e36824356e /middleware/file/zone_test.go | |
parent | d6902cd7a1e70149268925453289681536b88195 (diff) | |
download | coredns-2cca527d9f17fd1595366545c47630bf35591873.tar.gz coredns-2cca527d9f17fd1595366545c47630bf35591873.tar.zst coredns-2cca527d9f17fd1595366545c47630bf35591873.zip |
middleware/file: fix delegations (#376)
Fix the delegation handling in the *file* and *dnssec* middleware.
Refactor tests a bit and show that they are failling.
Add a Tree printer, cleanups and tests.
Fix wildcard test - should get no answer from empty-non-terminal
Diffstat (limited to 'middleware/file/zone_test.go')
-rw-r--r-- | middleware/file/zone_test.go | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/middleware/file/zone_test.go b/middleware/file/zone_test.go index e7eaef4b8..c9ff174db 100644 --- a/middleware/file/zone_test.go +++ b/middleware/file/zone_test.go @@ -1,4 +1,30 @@ package file -// TODO tests here. -// see secondary_test.go for some infrastructure stuff. +import "testing" + +func TestNameFromRight(t *testing.T) { + z := NewZone("example.org.", "stdin") + + tests := []struct { + in string + labels int + shot bool + expected string + }{ + {"example.org.", 0, false, "example.org."}, + {"a.example.org.", 0, false, "example.org."}, + {"a.example.org.", 1, false, "a.example.org."}, + {"a.example.org.", 2, true, "a.example.org."}, + {"a.b.example.org.", 2, false, "a.b.example.org."}, + } + + for i, tc := range tests { + got, shot := z.nameFromRight(tc.in, tc.labels) + if got != tc.expected { + t.Errorf("Test %d: expected %s, got %s\n", i, tc.expected, got) + } + if shot != tc.shot { + t.Errorf("Test %d: expected shot to be %t, got %t\n", i, tc.shot, shot) + } + } +} |