diff options
author | 2018-09-12 02:07:24 -0400 | |
---|---|---|
committer | 2018-09-12 07:07:24 +0100 | |
commit | 0bf8b81cb7a5894e7cb6336ac5a8f7510c92692d (patch) | |
tree | 6c837b36b2eb65133ac82d34399db35ba11903a5 /plugin/federation/federation_test.go | |
parent | b42eae7a04b8f789d7a20c0664895cd8e4638a22 (diff) | |
download | coredns-0bf8b81cb7a5894e7cb6336ac5a8f7510c92692d.tar.gz coredns-0bf8b81cb7a5894e7cb6336ac5a8f7510c92692d.tar.zst coredns-0bf8b81cb7a5894e7cb6336ac5a8f7510c92692d.zip |
plugin/federation: handle missing avail-zone/region labels better (#2092)
* handle missing avail-zone/region labels better
* oops forgot a file
Diffstat (limited to 'plugin/federation/federation_test.go')
-rw-r--r-- | plugin/federation/federation_test.go | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/plugin/federation/federation_test.go b/plugin/federation/federation_test.go index 54a9c3505..864ef2238 100644 --- a/plugin/federation/federation_test.go +++ b/plugin/federation/federation_test.go @@ -54,7 +54,7 @@ func TestFederationKubernetes(t *testing.T) { } k := kubernetes.New([]string{"cluster.local."}) - k.APIConn = &APIConnFederationTest{} + k.APIConn = &APIConnFederationTest{zone: "fd-az", region: "fd-r"} fed := New() fed.zones = []string{"cluster.local."} @@ -79,3 +79,39 @@ func TestFederationKubernetes(t *testing.T) { test.SortAndCheck(t, resp, tc) } } + +func TestFederationKubernetesMissingLabels(t *testing.T) { + tests := []test.Case{ + { + // service does not exist, do the federation dance. + Qname: "svc0.testns.prod.svc.cluster.local.", Qtype: dns.TypeA, + Rcode: dns.RcodeSuccess, + Answer: []dns.RR{ + test.CNAME("svc0.testns.prod.svc.cluster.local. 303 IN CNAME svc0.testns.prod.svc.fd-az.fd-r.federal.example."), + }, + }, + } + + k := kubernetes.New([]string{"cluster.local."}) + k.APIConn = &APIConnFederationTest{zone: "", region: ""} + + fed := New() + fed.zones = []string{"cluster.local."} + fed.Federations = k.Federations + fed.Next = k + fed.f = map[string]string{ + "prod": "federal.example.", + } + + ctx := context.TODO() + for _, tc := range tests { + m := tc.Msg() + + rec := dnstest.NewRecorder(&test.ResponseWriter{}) + _, err := fed.ServeDNS(ctx, rec, m) + if err == nil { + t.Errorf("Expected an error") + return + } + } +} |