aboutsummaryrefslogtreecommitdiff
path: root/middleware/kubernetes/autopath/autopath_test.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-08-07 14:45:30 -0700
committerGravatar GitHub <noreply@github.com> 2017-08-07 14:45:30 -0700
commit0bc1ff74086152ceed1b7b3a4ef1ea26ce26f787 (patch)
treed629844b1e7de3229447cd6b0b2f0259cadd7eef /middleware/kubernetes/autopath/autopath_test.go
parente1c1521ad564dbae4106fba7c8cf29d9bb62778c (diff)
downloadcoredns-0bc1ff74086152ceed1b7b3a4ef1ea26ce26f787.tar.gz
coredns-0bc1ff74086152ceed1b7b3a4ef1ea26ce26f787.tar.zst
coredns-0bc1ff74086152ceed1b7b3a4ef1ea26ce26f787.zip
mw/kubernetes: autopath refactors (#850)
Factor out as much of autopath into a subpackage as possible right now. apw.Sent is not needed, we should see this from the rcode returned by the middleware. See #852 on why this was needed. Disable the tests for now as to not break the main build.
Diffstat (limited to 'middleware/kubernetes/autopath/autopath_test.go')
-rw-r--r--middleware/kubernetes/autopath/autopath_test.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/middleware/kubernetes/autopath/autopath_test.go b/middleware/kubernetes/autopath/autopath_test.go
new file mode 100644
index 000000000..787896e42
--- /dev/null
+++ b/middleware/kubernetes/autopath/autopath_test.go
@@ -0,0 +1,26 @@
+package autopath
+
+import "testing"
+
+func TestSplitSearchPath(t *testing.T) {
+ type testCase struct {
+ question string
+ namespace string
+ expectedName string
+ expectedSearch string
+ expectedOk bool
+ }
+ tests := []testCase{
+ {question: "test.blah.com", namespace: "ns1", expectedName: "", expectedSearch: "", expectedOk: false},
+ {question: "foo.com.ns2.svc.interwebs.nets", namespace: "ns1", expectedName: "", expectedSearch: "", expectedOk: false},
+ {question: "foo.com.svc.interwebs.nets", namespace: "ns1", expectedName: "", expectedSearch: "", expectedOk: false},
+ {question: "foo.com.ns1.svc.interwebs.nets", namespace: "ns1", expectedName: "foo.com", expectedSearch: "ns1.svc.interwebs.nets", expectedOk: true},
+ }
+ zone := "interwebs.nets"
+ for _, c := range tests {
+ name, search, ok := SplitSearch(zone, c.question, c.namespace)
+ if c.expectedName != name || c.expectedSearch != search || c.expectedOk != ok {
+ t.Errorf("Case %v: Expected name'%v', search:'%v', ok:'%v'. Got name:'%v', search:'%v', ok:'%v'.", c.question, c.expectedName, c.expectedSearch, c.expectedOk, name, search, ok)
+ }
+ }
+}