tests: CoreDNSServerAndPorts (#972)

* tests: CoreDNSServerAndPorts

Copy from kubernetes.go and renamed to fit the style, adapted almost
all callers.

This is a mechanicl change, no testdata was changed.

* typos
This commit is contained in:
Miek Gieben 2017-08-24 11:35:14 +01:00 committed by GitHub
parent ea53f8c219
commit f901b0cefa
24 changed files with 39 additions and 143 deletions

View file

@ -29,15 +29,10 @@ func TestAuto(t *testing.T) {
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatal("Could not get UDP listening port")
}
defer i.Stop()
log.SetOutput(ioutil.Discard)

View file

@ -26,15 +26,10 @@ func TestLookupCache(t *testing.T) {
file ` + name + `
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
// Start caching proxy CoreDNS that we want to test.
@ -43,15 +38,10 @@ func TestLookupCache(t *testing.T) {
cache
}
`
i, err = CoreDNSServer(corefile)
i, udp, _, err = CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ = CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
log.SetOutput(ioutil.Discard)

View file

@ -18,18 +18,12 @@ func TestChaos(t *testing.T) {
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
// Stop the server.
defer i.Stop()
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
log.SetOutput(ioutil.Discard)
m := new(dns.Msg)

View file

@ -43,15 +43,10 @@ func TestLookupDS(t *testing.T) {
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
log.SetOutput(ioutil.Discard)

View file

@ -14,15 +14,10 @@ func TestLookupAutoPathErratic(t *testing.T) {
debug
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
tests := []struct {

View file

@ -27,15 +27,10 @@ func TestEtcdCacheAndDebug(t *testing.T) {
cache skydns.test
}`
ex, err := CoreDNSServer(corefile)
ex, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(ex, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer ex.Stop()
etc := etcdMiddleware()

View file

@ -47,15 +47,10 @@ func TestEtcdStubAndProxyLookup(t *testing.T) {
proxy . 8.8.8.8:53
}`
ex, err := CoreDNSServer(corefile)
ex, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(ex, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer ex.Stop()
etc := etcdMiddleware()

View file

@ -27,15 +27,10 @@ func TestZoneExternalCNAMELookupWithoutProxy(t *testing.T) {
file ` + name + `
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
p := proxy.NewLookup([]string{udp})
@ -68,15 +63,10 @@ func TestZoneExternalCNAMELookupWithProxy(t *testing.T) {
}
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
p := proxy.NewLookup([]string{udp})

View file

@ -32,15 +32,10 @@ example.net:0 {
file ` + name + `
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
p := proxy.NewLookup([]string{udp})

View file

@ -27,15 +27,10 @@ func TestZoneSRVAdditional(t *testing.T) {
file ` + name + `
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
p := proxy.NewLookup([]string{udp})

View file

@ -20,12 +20,10 @@ func TestGrpc(t *testing.T) {
whoami
}
`
g, err := CoreDNSServer(corefile)
g, _, tcp, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
_, tcp := CoreDNSServerPorts(g, 0)
defer g.Stop()
conn, err := grpc.Dial(tcp, grpc.WithInsecure(), grpc.WithBlock(), grpc.WithTimeout(5*time.Second))

View file

@ -45,14 +45,12 @@ func TestMetricsRefused(t *testing.T) {
prometheus localhost:0
}
`
srv, err := CoreDNSServer(corefile)
srv, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
defer srv.Stop()
udp, _ := CoreDNSServerPorts(srv, 0)
m := new(dns.Msg)
m.SetQuestion("google.com.", dns.TypeA)

View file

@ -30,12 +30,10 @@ func TestLookupBalanceRewriteCacheDnssec(t *testing.T) {
loadbalance
}
`
ex, err := CoreDNSServer(corefile)
ex, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(ex, 0)
defer ex.Stop()
log.SetOutput(ioutil.Discard)

View file

@ -25,11 +25,10 @@ func benchmarkLookupBalanceRewriteCache(b *testing.B) {
}
`
ex, err := CoreDNSServer(corefile)
ex, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(ex, 0)
defer ex.Stop()
log.SetOutput(ioutil.Discard)

View file

@ -22,15 +22,10 @@ func TestProxyErratic(t *testing.T) {
}
`
backend, err := CoreDNSServer(corefile)
backend, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(backend, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer backend.Stop()
p := proxy.NewLookup([]string{udp})

View file

@ -51,15 +51,10 @@ func TestProxyWithHTTPCheckOK(t *testing.T) {
}
`
authoritativeInstance, err := CoreDNSServer(authoritativeCorefile)
authoritativeInstance, authoritativeAddr, _, err := CoreDNSServerAndPorts(authoritativeCorefile)
if err != nil {
t.Fatalf("Could not get CoreDNS authoritative instance: %s", err)
}
authoritativeAddr, _ := CoreDNSServerPorts(authoritativeInstance, 0)
if authoritativeAddr == "" {
t.Fatalf("Could not get CoreDNS authoritative instance UDP listening port")
}
defer authoritativeInstance.Stop()
proxyCorefile := `example.org:0 {
@ -70,15 +65,10 @@ func TestProxyWithHTTPCheckOK(t *testing.T) {
}
`
proxyInstance, err := CoreDNSServer(proxyCorefile)
proxyInstance, proxyAddr, _, err := CoreDNSServerAndPorts(proxyCorefile)
if err != nil {
t.Fatalf("Could not get CoreDNS proxy instance: %s", err)
}
proxyAddr, _ := CoreDNSServerPorts(proxyInstance, 0)
if proxyAddr == "" {
t.Fatalf("Could not get CoreDNS proxy instance UDP listening port")
}
defer proxyInstance.Stop()
p := proxy.NewLookup([]string{proxyAddr})

View file

@ -25,15 +25,10 @@ func TestLookupProxy(t *testing.T) {
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
log.SetOutput(ioutil.Discard)
@ -69,15 +64,10 @@ func TestLookupDnsWithForcedTcp(t *testing.T) {
}
`
i, err := CoreDNSServer(corefile)
i, _, tcp, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
_, tcp := CoreDNSServerPorts(i, 0)
if tcp == "" {
t.Fatalf("Could not get TCP listening port")
}
defer i.Stop()
log.SetOutput(ioutil.Discard)

View file

@ -45,6 +45,6 @@ func send(t *testing.T, server string) {
t.Fatalf("Expected successful reply, got %s", dns.RcodeToString[r.Rcode])
}
if len(r.Extra) != 2 {
t.Fatalf("Expected 2 RRs in additional, got %d", len(r.Extra))
t.Fatalf("Expected 2 RRs in additional, got %s", len(r.Extra))
}
}

View file

@ -29,16 +29,11 @@ func TestReverseFallthrough(t *testing.T) {
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
log.SetOutput(ioutil.Discard)
p := proxy.NewLookup([]string{udp})

View file

@ -19,15 +19,11 @@ func TestRewrite(t *testing.T) {
}
}`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
log.SetOutput(ioutil.Discard)

View file

@ -21,15 +21,10 @@ func TestEmptySecondaryZone(t *testing.T) {
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatal("Could not get UDP listening port")
}
defer i.Stop()
log.SetOutput(ioutil.Discard)

View file

@ -48,6 +48,17 @@ func CoreDNSServerPorts(i *caddy.Instance, k int) (udp, tcp string) {
return
}
// CoreDNSServerAndPorts combines CoreDNSServer and CoreDNSServerPorts to start a CoreDNS
// server and returns the udp and tcp ports of the first instance.
func CoreDNSServerAndPorts(corefile string) (i *caddy.Instance, udp, tcp string, err error) {
i, err = CoreDNSServer(corefile)
if err != nil {
return nil, "", "", err
}
udp, tcp = CoreDNSServerPorts(i, 0)
return i, udp, tcp, nil
}
// Input implements the caddy.Input interface and acts as an easy way to use a string as a Corefile.
type Input struct {
corefile []byte

View file

@ -13,24 +13,21 @@ func TestProxyToChaosServer(t *testing.T) {
chaos CoreDNS-001 miek@miek.nl
}
`
chaos, err := CoreDNSServer(corefile)
chaos, udpChaos, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udpChaos, _ := CoreDNSServerPorts(chaos, 0)
defer chaos.Stop()
corefileProxy := `.:0 {
proxy . ` + udpChaos + `
}
`
proxy, err := CoreDNSServer(corefileProxy)
proxy, udp, _, err := CoreDNSServerAndPorts(corefileProxy)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance")
}
udp, _ := CoreDNSServerPorts(proxy, 0)
defer proxy.Stop()
chaosTest(t, udpChaos)

View file

@ -25,15 +25,10 @@ func TestLookupWildcard(t *testing.T) {
}
`
i, err := CoreDNSServer(corefile)
i, udp, _, err := CoreDNSServerAndPorts(corefile)
if err != nil {
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
}
udp, _ := CoreDNSServerPorts(i, 0)
if udp == "" {
t.Fatalf("Could not get UDP listening port")
}
defer i.Stop()
log.SetOutput(ioutil.Discard)