mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 02:03:20 -04:00 
			
		
		
		
	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:
		| @@ -29,15 +29,10 @@ func TestAuto(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| ` | ` | ||||||
|  |  | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	log.SetOutput(ioutil.Discard) | ||||||
|   | |||||||
| @@ -26,15 +26,10 @@ func TestLookupCache(t *testing.T) { | |||||||
|        file ` + name + ` |        file ` + name + ` | ||||||
| } | } | ||||||
| ` | ` | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	// Start caching proxy CoreDNS that we want to test. | 	// Start caching proxy CoreDNS that we want to test. | ||||||
| @@ -43,15 +38,10 @@ func TestLookupCache(t *testing.T) { | |||||||
| 	cache | 	cache | ||||||
| } | } | ||||||
| ` | ` | ||||||
| 	i, err = CoreDNSServer(corefile) | 	i, udp, _, err = CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	log.SetOutput(ioutil.Discard) | ||||||
|   | |||||||
| @@ -18,18 +18,12 @@ func TestChaos(t *testing.T) { | |||||||
| } | } | ||||||
| ` | ` | ||||||
|  |  | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | ||||||
| 	} | 	} | ||||||
| 	// Stop the server. |  | ||||||
| 	defer i.Stop() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	udp, _ := CoreDNSServerPorts(i, 0) |  | ||||||
| 	if udp == "" { |  | ||||||
| 		t.Fatalf("Could not get UDP listening port") |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	log.SetOutput(ioutil.Discard) | ||||||
|  |  | ||||||
| 	m := new(dns.Msg) | 	m := new(dns.Msg) | ||||||
|   | |||||||
| @@ -43,15 +43,10 @@ func TestLookupDS(t *testing.T) { | |||||||
| } | } | ||||||
| ` | ` | ||||||
|  |  | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	log.SetOutput(ioutil.Discard) | ||||||
|   | |||||||
| @@ -14,15 +14,10 @@ func TestLookupAutoPathErratic(t *testing.T) { | |||||||
| 	debug | 	debug | ||||||
|     } |     } | ||||||
| ` | ` | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	tests := []struct { | 	tests := []struct { | ||||||
|   | |||||||
| @@ -27,15 +27,10 @@ func TestEtcdCacheAndDebug(t *testing.T) { | |||||||
|     cache skydns.test |     cache skydns.test | ||||||
| }` | }` | ||||||
|  |  | ||||||
| 	ex, err := CoreDNSServer(corefile) | 	ex, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer ex.Stop() | ||||||
|  |  | ||||||
| 	etc := etcdMiddleware() | 	etc := etcdMiddleware() | ||||||
|   | |||||||
| @@ -47,15 +47,10 @@ func TestEtcdStubAndProxyLookup(t *testing.T) { | |||||||
|     proxy . 8.8.8.8:53 |     proxy . 8.8.8.8:53 | ||||||
| }` | }` | ||||||
|  |  | ||||||
| 	ex, err := CoreDNSServer(corefile) | 	ex, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer ex.Stop() | ||||||
|  |  | ||||||
| 	etc := etcdMiddleware() | 	etc := etcdMiddleware() | ||||||
|   | |||||||
| @@ -27,15 +27,10 @@ func TestZoneExternalCNAMELookupWithoutProxy(t *testing.T) { | |||||||
|        file ` + name + ` |        file ` + name + ` | ||||||
| } | } | ||||||
| ` | ` | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	p := proxy.NewLookup([]string{udp}) | 	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 { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	p := proxy.NewLookup([]string{udp}) | 	p := proxy.NewLookup([]string{udp}) | ||||||
|   | |||||||
| @@ -32,15 +32,10 @@ example.net:0 { | |||||||
| 	file ` + name + ` | 	file ` + name + ` | ||||||
| } | } | ||||||
| ` | ` | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	p := proxy.NewLookup([]string{udp}) | 	p := proxy.NewLookup([]string{udp}) | ||||||
|   | |||||||
| @@ -27,15 +27,10 @@ func TestZoneSRVAdditional(t *testing.T) { | |||||||
|        file ` + name + ` |        file ` + name + ` | ||||||
| } | } | ||||||
| ` | ` | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	p := proxy.NewLookup([]string{udp}) | 	p := proxy.NewLookup([]string{udp}) | ||||||
|   | |||||||
| @@ -20,12 +20,10 @@ func TestGrpc(t *testing.T) { | |||||||
| 		whoami | 		whoami | ||||||
| } | } | ||||||
| ` | ` | ||||||
| 	g, err := CoreDNSServer(corefile) | 	g, _, tcp, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	_, tcp := CoreDNSServerPorts(g, 0) |  | ||||||
| 	defer g.Stop() | 	defer g.Stop() | ||||||
|  |  | ||||||
| 	conn, err := grpc.Dial(tcp, grpc.WithInsecure(), grpc.WithBlock(), grpc.WithTimeout(5*time.Second)) | 	conn, err := grpc.Dial(tcp, grpc.WithInsecure(), grpc.WithBlock(), grpc.WithTimeout(5*time.Second)) | ||||||
|   | |||||||
| @@ -45,14 +45,12 @@ func TestMetricsRefused(t *testing.T) { | |||||||
| 	prometheus localhost:0 | 	prometheus localhost:0 | ||||||
| } | } | ||||||
| ` | ` | ||||||
| 	srv, err := CoreDNSServer(corefile) | 	srv, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | ||||||
| 	} | 	} | ||||||
| 	defer srv.Stop() | 	defer srv.Stop() | ||||||
|  |  | ||||||
| 	udp, _ := CoreDNSServerPorts(srv, 0) |  | ||||||
|  |  | ||||||
| 	m := new(dns.Msg) | 	m := new(dns.Msg) | ||||||
| 	m.SetQuestion("google.com.", dns.TypeA) | 	m.SetQuestion("google.com.", dns.TypeA) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -30,12 +30,10 @@ func TestLookupBalanceRewriteCacheDnssec(t *testing.T) { | |||||||
|     loadbalance |     loadbalance | ||||||
| } | } | ||||||
| ` | ` | ||||||
| 	ex, err := CoreDNSServer(corefile) | 	ex, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	udp, _ := CoreDNSServerPorts(ex, 0) |  | ||||||
| 	defer ex.Stop() | 	defer ex.Stop() | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	log.SetOutput(ioutil.Discard) | ||||||
|   | |||||||
| @@ -25,11 +25,10 @@ func benchmarkLookupBalanceRewriteCache(b *testing.B) { | |||||||
| } | } | ||||||
| ` | ` | ||||||
|  |  | ||||||
| 	ex, err := CoreDNSServer(corefile) | 	ex, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | ||||||
| 	} | 	} | ||||||
| 	udp, _ := CoreDNSServerPorts(ex, 0) |  | ||||||
| 	defer ex.Stop() | 	defer ex.Stop() | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	log.SetOutput(ioutil.Discard) | ||||||
|   | |||||||
| @@ -22,15 +22,10 @@ func TestProxyErratic(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| ` | ` | ||||||
|  |  | ||||||
| 	backend, err := CoreDNSServer(corefile) | 	backend, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer backend.Stop() | ||||||
|  |  | ||||||
| 	p := proxy.NewLookup([]string{udp}) | 	p := proxy.NewLookup([]string{udp}) | ||||||
|   | |||||||
| @@ -51,15 +51,10 @@ func TestProxyWithHTTPCheckOK(t *testing.T) { | |||||||
| } | } | ||||||
| ` | ` | ||||||
|  |  | ||||||
| 	authoritativeInstance, err := CoreDNSServer(authoritativeCorefile) | 	authoritativeInstance, authoritativeAddr, _, err := CoreDNSServerAndPorts(authoritativeCorefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS authoritative instance: %s", err) | 		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() | 	defer authoritativeInstance.Stop() | ||||||
|  |  | ||||||
| 	proxyCorefile := `example.org:0 { | 	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 { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS proxy instance: %s", err) | 		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() | 	defer proxyInstance.Stop() | ||||||
|  |  | ||||||
| 	p := proxy.NewLookup([]string{proxyAddr}) | 	p := proxy.NewLookup([]string{proxyAddr}) | ||||||
|   | |||||||
| @@ -25,15 +25,10 @@ func TestLookupProxy(t *testing.T) { | |||||||
| } | } | ||||||
| ` | ` | ||||||
|  |  | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	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 { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	log.SetOutput(ioutil.Discard) | ||||||
|   | |||||||
| @@ -45,6 +45,6 @@ func send(t *testing.T, server string) { | |||||||
| 		t.Fatalf("Expected successful reply, got %s", dns.RcodeToString[r.Rcode]) | 		t.Fatalf("Expected successful reply, got %s", dns.RcodeToString[r.Rcode]) | ||||||
| 	} | 	} | ||||||
| 	if len(r.Extra) != 2 { | 	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)) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -29,16 +29,11 @@ func TestReverseFallthrough(t *testing.T) { | |||||||
| } | } | ||||||
| ` | ` | ||||||
|  |  | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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) | 	log.SetOutput(ioutil.Discard) | ||||||
|  |  | ||||||
| 	p := proxy.NewLookup([]string{udp}) | 	p := proxy.NewLookup([]string{udp}) | ||||||
|   | |||||||
| @@ -19,15 +19,11 @@ func TestRewrite(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| }` | }` | ||||||
|  |  | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	log.SetOutput(ioutil.Discard) | ||||||
|   | |||||||
| @@ -21,15 +21,10 @@ func TestEmptySecondaryZone(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| ` | ` | ||||||
|  |  | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	log.SetOutput(ioutil.Discard) | ||||||
|   | |||||||
| @@ -48,6 +48,17 @@ func CoreDNSServerPorts(i *caddy.Instance, k int) (udp, tcp string) { | |||||||
| 	return | 	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. | // Input implements the caddy.Input interface and acts as an easy way to use a string as a Corefile. | ||||||
| type Input struct { | type Input struct { | ||||||
| 	corefile []byte | 	corefile []byte | ||||||
|   | |||||||
| @@ -13,24 +13,21 @@ func TestProxyToChaosServer(t *testing.T) { | |||||||
| 	chaos CoreDNS-001 miek@miek.nl | 	chaos CoreDNS-001 miek@miek.nl | ||||||
| } | } | ||||||
| ` | ` | ||||||
| 	chaos, err := CoreDNSServer(corefile) | 	chaos, udpChaos, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	udpChaos, _ := CoreDNSServerPorts(chaos, 0) |  | ||||||
| 	defer chaos.Stop() | 	defer chaos.Stop() | ||||||
|  |  | ||||||
| 	corefileProxy := `.:0 { | 	corefileProxy := `.:0 { | ||||||
| 		proxy . ` + udpChaos + ` | 		proxy . ` + udpChaos + ` | ||||||
| } | } | ||||||
| ` | ` | ||||||
| 	proxy, err := CoreDNSServer(corefileProxy) | 	proxy, udp, _, err := CoreDNSServerAndPorts(corefileProxy) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance") | 		t.Fatalf("Could not get CoreDNS serving instance") | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	udp, _ := CoreDNSServerPorts(proxy, 0) |  | ||||||
| 	defer proxy.Stop() | 	defer proxy.Stop() | ||||||
|  |  | ||||||
| 	chaosTest(t, udpChaos) | 	chaosTest(t, udpChaos) | ||||||
|   | |||||||
| @@ -25,15 +25,10 @@ func TestLookupWildcard(t *testing.T) { | |||||||
| } | } | ||||||
| ` | ` | ||||||
|  |  | ||||||
| 	i, err := CoreDNSServer(corefile) | 	i, udp, _, err := CoreDNSServerAndPorts(corefile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Could not get CoreDNS serving instance: %s", err) | 		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() | 	defer i.Stop() | ||||||
|  |  | ||||||
| 	log.SetOutput(ioutil.Discard) | 	log.SetOutput(ioutil.Discard) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user