* Rename middleware to plugin first pass; mostly used 'sed', few spots where I manually changed text. This still builds a coredns binary. * fmt error * Rename AddMiddleware to AddPlugin * Readd AddMiddleware to remain backwards compat
59 lines
1.2 KiB
Go
59 lines
1.2 KiB
Go
package kubernetes
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/coredns/coredns/plugin/pkg/dnsrecorder"
|
|
"github.com/coredns/coredns/plugin/test"
|
|
|
|
"github.com/miekg/dns"
|
|
"golang.org/x/net/context"
|
|
)
|
|
|
|
var podModeInsecureCases = []test.Case{
|
|
{
|
|
Qname: "10-240-0-1.podns.pod.cluster.local.", Qtype: dns.TypeA,
|
|
Rcode: dns.RcodeSuccess,
|
|
Answer: []dns.RR{
|
|
test.A("10-240-0-1.podns.pod.cluster.local. 0 IN A 10.240.0.1"),
|
|
},
|
|
},
|
|
{
|
|
Qname: "172-0-0-2.podns.pod.cluster.local.", Qtype: dns.TypeA,
|
|
Rcode: dns.RcodeSuccess,
|
|
Answer: []dns.RR{
|
|
test.A("172-0-0-2.podns.pod.cluster.local. 0 IN A 172.0.0.2"),
|
|
},
|
|
},
|
|
}
|
|
|
|
func TestServeDNSModeInsecure(t *testing.T) {
|
|
|
|
k := New([]string{"cluster.local."})
|
|
k.APIConn = &APIConnServeTest{}
|
|
k.Next = test.NextHandler(dns.RcodeSuccess, nil)
|
|
ctx := context.TODO()
|
|
k.podMode = podModeInsecure
|
|
|
|
for i, tc := range podModeInsecureCases {
|
|
r := tc.Msg()
|
|
|
|
w := dnsrecorder.New(&test.ResponseWriter{})
|
|
|
|
_, err := k.ServeDNS(ctx, w, r)
|
|
if err != tc.Error {
|
|
t.Errorf("Test %d expected no error, got %v", i, err)
|
|
return
|
|
}
|
|
if tc.Error != nil {
|
|
continue
|
|
}
|
|
|
|
resp := w.Msg
|
|
if resp == nil {
|
|
t.Fatalf("Test %d, got nil message and no error for %q", i, r.Question[0].Name)
|
|
}
|
|
|
|
test.SortAndCheck(t, resp, tc)
|
|
}
|
|
}
|