* mw/kubernetes: move fallthrough tests out Remove the testcase duplication and put fallthrough tests in separate file. Also make some names shorter and more descriptive. * fix test build * fix corefile
75 lines
1.7 KiB
Go
75 lines
1.7 KiB
Go
// +build k8s
|
|
|
|
package test
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"log"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/coredns/coredns/middleware/test"
|
|
|
|
"github.com/miekg/dns"
|
|
)
|
|
|
|
func init() {
|
|
log.SetOutput(ioutil.Discard)
|
|
}
|
|
|
|
var dnsTestCasesFallthrough = []test.Case{
|
|
{
|
|
Qname: "ext-svc.test-1.svc.cluster.local.", Qtype: dns.TypeA,
|
|
Rcode: dns.RcodeSuccess,
|
|
Answer: []dns.RR{
|
|
test.A("example.net. 303 IN A 13.14.15.16"),
|
|
test.CNAME("ext-svc.test-1.svc.cluster.local. 303 IN CNAME example.net."),
|
|
},
|
|
},
|
|
{
|
|
Qname: "f.b.svc.cluster.local.", Qtype: dns.TypeA,
|
|
Rcode: dns.RcodeSuccess,
|
|
Answer: []dns.RR{
|
|
test.A("f.b.svc.cluster.local. 303 IN A 10.10.10.11"),
|
|
},
|
|
Ns: []dns.RR{
|
|
test.NS("cluster.local. 303 IN NS a.iana-servers.net."),
|
|
test.NS("cluster.local. 303 IN NS b.iana-servers.net."),
|
|
},
|
|
},
|
|
{
|
|
Qname: "foo.cluster.local.", Qtype: dns.TypeA,
|
|
Rcode: dns.RcodeSuccess,
|
|
Answer: []dns.RR{
|
|
test.A("foo.cluster.local. 303 IN A 10.10.10.10"),
|
|
},
|
|
Ns: []dns.RR{
|
|
test.NS("cluster.local. 303 IN NS a.iana-servers.net."),
|
|
test.NS("cluster.local. 303 IN NS b.iana-servers.net."),
|
|
},
|
|
},
|
|
}
|
|
|
|
func TestKubernetesFallthrough(t *testing.T) {
|
|
dbfile, rmFunc, err := TempFile(os.TempDir(), clusterLocal)
|
|
if err != nil {
|
|
t.Fatalf("Could not create zonefile for fallthrough server: %s", err)
|
|
}
|
|
defer rmFunc()
|
|
|
|
rmFunc, upstream, udp := upstreamServer(t)
|
|
defer upstream.Stop()
|
|
defer rmFunc()
|
|
|
|
corefile :=
|
|
`.:0 {
|
|
file ` + dbfile + ` cluster.local
|
|
kubernetes cluster.local {
|
|
endpoint http://localhost:8080
|
|
namespaces test-1
|
|
upstream ` + udp + `
|
|
fallthrough
|
|
}
|
|
`
|
|
doIntegrationTests(t, corefile, dnsTestCasesFallthrough)
|
|
}
|