diff options
author | 2018-02-28 10:53:12 -0500 | |
---|---|---|
committer | 2018-02-28 07:53:12 -0800 | |
commit | 395b614349ad730af8edbae204a4744128e0b0f3 (patch) | |
tree | 485759be8b223bc899b41b2e8af4d434063dfc78 /plugin/kubernetes/reverse_test.go | |
parent | 3c31011cedfca4a04d6afa44aa7312391a24d25d (diff) | |
download | coredns-395b614349ad730af8edbae204a4744128e0b0f3.tar.gz coredns-395b614349ad730af8edbae204a4744128e0b0f3.tar.zst coredns-395b614349ad730af8edbae204a4744128e0b0f3.zip |
plugin/kubernetes: PTR/A reverse query corner cases (#1551)
* better handle non PTR rev zone qrys
* vice versa
* tests
* comment typo
* much cleaner
Diffstat (limited to 'plugin/kubernetes/reverse_test.go')
-rw-r--r-- | plugin/kubernetes/reverse_test.go | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/plugin/kubernetes/reverse_test.go b/plugin/kubernetes/reverse_test.go index 94edef01b..ff4011ed0 100644 --- a/plugin/kubernetes/reverse_test.go +++ b/plugin/kubernetes/reverse_test.go @@ -18,12 +18,35 @@ func (APIConnReverseTest) HasSynced() bool { return true } func (APIConnReverseTest) Run() { return } func (APIConnReverseTest) Stop() error { return nil } func (APIConnReverseTest) PodIndex(string) []*api.Pod { return nil } -func (APIConnReverseTest) SvcIndex(string) []*api.Service { return nil } func (APIConnReverseTest) EpIndex(string) []*api.Endpoints { return nil } func (APIConnReverseTest) EndpointsList() []*api.Endpoints { return nil } func (APIConnReverseTest) ServiceList() []*api.Service { return nil } func (APIConnReverseTest) Modified() int64 { return 0 } +func (APIConnReverseTest) SvcIndex(svc string) []*api.Service { + if svc != "svc1.testns" { + return nil + } + svcs := []*api.Service{ + { + ObjectMeta: meta.ObjectMeta{ + Name: "svc1", + Namespace: "testns", + }, + Spec: api.ServiceSpec{ + ClusterIP: "192.168.1.100", + Ports: []api.ServicePort{{ + Name: "http", + Protocol: "tcp", + Port: 80, + }}, + }, + }, + } + return svcs + +} + func (APIConnReverseTest) SvcIndexReverse(ip string) []*api.Service { if ip != "192.168.1.100" { return nil @@ -162,11 +185,32 @@ func TestReverse(t *testing.T) { }, { Qname: "example.org.cluster.local.", Qtype: dns.TypePTR, + Rcode: dns.RcodeNameError, + Ns: []dns.RR{ + test.SOA("cluster.local. 300 IN SOA ns.dns.cluster.local. hostmaster.cluster.local. 1502989566 7200 1800 86400 60"), + }, + }, + { + Qname: "svc1.testns.svc.cluster.local.", Qtype: dns.TypePTR, Rcode: dns.RcodeSuccess, Ns: []dns.RR{ test.SOA("cluster.local. 300 IN SOA ns.dns.cluster.local. hostmaster.cluster.local. 1502989566 7200 1800 86400 60"), }, }, + { + Qname: "svc1.testns.svc.0.10.in-addr.arpa.", Qtype: dns.TypeA, + Rcode: dns.RcodeNameError, + Ns: []dns.RR{ + test.SOA("0.10.in-addr.arpa. 300 IN SOA ns.dns.0.10.in-addr.arpa. hostmaster.0.10.in-addr.arpa. 1502989566 7200 1800 86400 60"), + }, + }, + { + Qname: "100.0.0.10.cluster.local.", Qtype: dns.TypePTR, + Rcode: dns.RcodeNameError, + Ns: []dns.RR{ + test.SOA("cluster.local. 300 IN SOA ns.dns.cluster.local. hostmaster.cluster.local. 1502989566 7200 1800 86400 60"), + }, + }, } ctx := context.TODO() |