aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/controller_test.go
diff options
context:
space:
mode:
authorGravatar Chris O'Haver <cohaver@infoblox.com> 2022-03-07 12:16:24 -0500
committerGravatar GitHub <noreply@github.com> 2022-03-07 12:16:24 -0500
commit7263808fe1cfb3b9dfbc09d70c52d52a563e5254 (patch)
treec4cd35304fc001617d6943903d6ec5744906737d /plugin/kubernetes/controller_test.go
parent267ce8a820a9e3491106dbdbe85793a771f516ba (diff)
downloadcoredns-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.go66
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)
+ }
+ }
+}