diff options
author | 2022-03-07 12:16:24 -0500 | |
---|---|---|
committer | 2022-03-07 12:16:24 -0500 | |
commit | 7263808fe1cfb3b9dfbc09d70c52d52a563e5254 (patch) | |
tree | c4cd35304fc001617d6943903d6ec5744906737d /plugin/kubernetes/controller_test.go | |
parent | 267ce8a820a9e3491106dbdbe85793a771f516ba (diff) | |
download | coredns-7263808fe1cfb3b9dfbc09d70c52d52a563e5254.tar.gz coredns-7263808fe1cfb3b9dfbc09d70c52d52a563e5254.tar.zst coredns-7263808fe1cfb3b9dfbc09d70c52d52a563e5254.zip |
plugin/k8s_external: implement zone transfers (#4977)
Implement transfer for k8s_external. Notifies not supported.
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
Diffstat (limited to 'plugin/kubernetes/controller_test.go')
-rw-r--r-- | plugin/kubernetes/controller_test.go | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/plugin/kubernetes/controller_test.go b/plugin/kubernetes/controller_test.go index a6a94e06b..469eb59b6 100644 --- a/plugin/kubernetes/controller_test.go +++ b/plugin/kubernetes/controller_test.go @@ -6,6 +6,7 @@ import ( "strconv" "testing" + "github.com/coredns/coredns/plugin/kubernetes/object" "github.com/coredns/coredns/plugin/test" "github.com/miekg/dns" @@ -170,3 +171,68 @@ func createExternalSvc(suffix int, client kubernetes.Interface, ip net.IP) { }, }, meta.CreateOptions{}) } + +func TestServiceModified(t *testing.T) { + var tests = []struct { + oldSvc interface{} + newSvc interface{} + ichanged bool + echanged bool + }{ + { + oldSvc: nil, + newSvc: &object.Service{}, + ichanged: true, + echanged: false, + }, + { + oldSvc: &object.Service{}, + newSvc: nil, + ichanged: true, + echanged: false, + }, + { + oldSvc: nil, + newSvc: &object.Service{ExternalIPs: []string{"10.0.0.1"}}, + ichanged: true, + echanged: true, + }, + { + oldSvc: &object.Service{ExternalIPs: []string{"10.0.0.1"}}, + newSvc: nil, + ichanged: true, + echanged: true, + }, + { + oldSvc: &object.Service{ExternalIPs: []string{"10.0.0.1"}}, + newSvc: &object.Service{ExternalIPs: []string{"10.0.0.2"}}, + ichanged: false, + echanged: true, + }, + { + oldSvc: &object.Service{ExternalName: "10.0.0.1"}, + newSvc: &object.Service{ExternalName: "10.0.0.2"}, + ichanged: true, + echanged: false, + }, + { + oldSvc: &object.Service{Ports: []api.ServicePort{{Name: "test1"}}}, + newSvc: &object.Service{Ports: []api.ServicePort{{Name: "test2"}}}, + ichanged: true, + echanged: true, + }, + { + oldSvc: &object.Service{Ports: []api.ServicePort{{Name: "test1"}}}, + newSvc: &object.Service{Ports: []api.ServicePort{{Name: "test2"}, {Name: "test3"}}}, + ichanged: true, + echanged: true, + }, + } + + for i, test := range tests { + ichanged, echanged := serviceModified(test.oldSvc, test.newSvc) + if test.ichanged != ichanged || test.echanged != echanged { + t.Errorf("Expected %v, %v for test %v. Got %v, %v", test.ichanged, test.echanged, i, ichanged, echanged) + } + } +} |