diff options
Diffstat (limited to 'plugin/kubernetes/setup_reverse_test.go')
-rw-r--r-- | plugin/kubernetes/setup_reverse_test.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/plugin/kubernetes/setup_reverse_test.go b/plugin/kubernetes/setup_reverse_test.go new file mode 100644 index 000000000..ed51a7410 --- /dev/null +++ b/plugin/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", i, err) + } + + zl := len(k.Zones) + if zl != len(tc.expectedZones) { + t.Errorf("Test %d: Expected kubernetes to be initialized with %d zones, found %d zones", 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]) + } + } + } +} |