diff options
author | 2018-11-13 18:25:30 -0500 | |
---|---|---|
committer | 2018-11-13 23:25:30 +0000 | |
commit | 7aafbe24cac838938a8fb0dbfe08d4870ae52d4b (patch) | |
tree | 7d8ee501a6dcc47ce950fb2d8620780fdf0ee6ea /plugin/kubernetes/setup_transfer_test.go | |
parent | 4d52a71f0918eb6f5ebb9e2fc64a6473c1a6e72c (diff) | |
download | coredns-7aafbe24cac838938a8fb0dbfe08d4870ae52d4b.tar.gz coredns-7aafbe24cac838938a8fb0dbfe08d4870ae52d4b.tar.zst coredns-7aafbe24cac838938a8fb0dbfe08d4870ae52d4b.zip |
plugin/kubernetes: Validate transfers are allowed (#2292)
* check allowed transfers
* add tests for parsing, and comment about refactor
Diffstat (limited to 'plugin/kubernetes/setup_transfer_test.go')
-rw-r--r-- | plugin/kubernetes/setup_transfer_test.go | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/plugin/kubernetes/setup_transfer_test.go b/plugin/kubernetes/setup_transfer_test.go new file mode 100644 index 000000000..6a375b69f --- /dev/null +++ b/plugin/kubernetes/setup_transfer_test.go @@ -0,0 +1,47 @@ +package kubernetes + +import ( + "testing" + + "github.com/mholt/caddy" +) + +func TestKubernetesParseTransfer(t *testing.T) { + tests := []struct { + input string // Corefile data as string + expected string + shouldErr bool + }{ + {`kubernetes cluster.local { + transfer to 1.2.3.4 + }`, "1.2.3.4:53", false}, + {`kubernetes cluster.local { + transfer to 1.2.3.4:53 + }`, "1.2.3.4:53", false}, + {`kubernetes cluster.local { + transfer to * + }`, "*", false}, + {`kubernetes cluster.local { + transfer + }`, "", true}, + } + + for i, tc := range tests { + c := caddy.NewTestController("dns", tc.input) + k, err := kubernetesParse(c) + if err != nil && !tc.shouldErr { + t.Fatalf("Test %d: Expected no error, got %q", i, err) + } + if err == nil && tc.shouldErr { + t.Fatalf("Test %d: Expected error, got none", i) + } + if err != nil && tc.shouldErr { + // input should error + continue + } + + if k.TransferTo[0] != tc.expected { + t.Errorf("Test %d: Expected Transfer To to be %s, got %s", i, tc.expected, k.TransferTo[0]) + } + } +} |