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.
This commit is contained in:
parent
817f3960b8
commit
edf71fb168
6 changed files with 407 additions and 51 deletions
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue