aboutsummaryrefslogtreecommitdiff
path: root/middleware/kubernetes/kubernetes_test.go
diff options
context:
space:
mode:
authorGravatar Chris O'Haver <cohaver@infoblox.com> 2017-06-28 18:44:30 -0400
committerGravatar John Belamaric <jbelamaric@infoblox.com> 2017-06-28 18:44:30 -0400
commitedf71fb16877109348efa8b7517043fdea9c5769 (patch)
treebc6a6a1ae0161e3fab58b6f0d9dc521538e3d6e0 /middleware/kubernetes/kubernetes_test.go
parent817f3960b81fc53f8991b4bb16a8922cb8317baa (diff)
downloadcoredns-edf71fb16877109348efa8b7517043fdea9c5769.tar.gz
coredns-edf71fb16877109348efa8b7517043fdea9c5769.tar.zst
coredns-edf71fb16877109348efa8b7517043fdea9c5769.zip
middleware/kubernetes: Server side path lookups (#750)
* initial commit * add config options * add readme * rewording * revert unlreated change * normalize host domain path * add ndots opt, allow > 1 host domains, pull host domains from resolv.conf * implementing review feedback * update readme * use dns lib, config format, defaults * Correct autopath example.
Diffstat (limited to 'middleware/kubernetes/kubernetes_test.go')
-rw-r--r--middleware/kubernetes/kubernetes_test.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/middleware/kubernetes/kubernetes_test.go b/middleware/kubernetes/kubernetes_test.go
index 2003513a4..8449101a5 100644
--- a/middleware/kubernetes/kubernetes_test.go
+++ b/middleware/kubernetes/kubernetes_test.go
@@ -480,3 +480,27 @@ func TestServices(t *testing.T) {
}
}
+
+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)
+ }
+ }
+
+}