diff options
author | 2017-08-16 07:29:46 +0100 | |
---|---|---|
committer | 2017-08-16 07:29:46 +0100 | |
commit | 479c8bbaa9f09079b19f33ebfa02eef7e7343082 (patch) | |
tree | 9e8ccc3545fe25ba47ed3d04f5df6ec5354f1849 /middleware/kubernetes/setup_reverse_test.go | |
parent | 1ab8b37e7e54ec3434f050ca46abecd79ca5fb4f (diff) | |
download | coredns-479c8bbaa9f09079b19f33ebfa02eef7e7343082.tar.gz coredns-479c8bbaa9f09079b19f33ebfa02eef7e7343082.tar.zst coredns-479c8bbaa9f09079b19f33ebfa02eef7e7343082.zip |
Reverse in k8s (#923)
* mw/kubernetes: reverse zone in ZONE stanza not parsed
Properly parse the reverse zone syntax in the ZONES stanza as promised
in the README.
As short test case to test.
* add test
Diffstat (limited to 'middleware/kubernetes/setup_reverse_test.go')
-rw-r--r-- | middleware/kubernetes/setup_reverse_test.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/middleware/kubernetes/setup_reverse_test.go b/middleware/kubernetes/setup_reverse_test.go new file mode 100644 index 000000000..b6fa26b86 --- /dev/null +++ b/middleware/kubernetes/setup_reverse_test.go @@ -0,0 +1,35 @@ +package kubernetes + +import ( + "testing" + + "github.com/mholt/caddy" +) + +func TestKubernetesParseReverseZone(t *testing.T) { + tests := []struct { + input string // Corefile data as string + expectedZones []string // expected count of defined zones. + }{ + {`kubernetes coredns.local 10.0.0.0/16`, []string{"coredns.local.", "0.10.in-addr.arpa."}}, + {`kubernetes coredns.local 10.0.0.0/17`, []string{"coredns.local.", "10.0.0.0/17."}}, + } + + for i, tc := range tests { + c := caddy.NewTestController("dns", tc.input) + k, err := kubernetesParse(c) + if err != nil { + t.Fatalf("Test %d: Expected no error, got %q", err) + } + + zl := len(k.Zones) + if zl != len(tc.expectedZones) { + t.Errorf("Test %d: Expected kubernetes controller to be initialized with %d zones, found %d zones: '%v'", i, len(tc.expectedZones), zl) + } + for i, z := range tc.expectedZones { + if k.Zones[i] != z { + t.Errorf("Test %d: Expected zones to be %q, got %q", i, z, k.Zones[i]) + } + } + } +} |