diff --git a/plugin/file/secondary_test.go b/plugin/file/secondary_test.go index 5c393e440..820c9b9d0 100644 --- a/plugin/file/secondary_test.go +++ b/plugin/file/secondary_test.go @@ -4,6 +4,7 @@ import ( "fmt" "testing" + "github.com/coredns/coredns/plugin/pkg/dnstest" "github.com/coredns/coredns/plugin/test" "github.com/coredns/coredns/request" @@ -71,18 +72,12 @@ const testZone = "secondary.miek.nl." func TestShouldTransfer(t *testing.T) { soa := soa{250} - dns.HandleFunc(testZone, soa.Handler) - defer dns.HandleRemove(testZone) - - s, addrstr, err := test.TCPServer("127.0.0.1:0") - if err != nil { - t.Fatalf("Unable to run test server: %v", err) - } - defer s.Shutdown() + s := dnstest.NewServer(soa.Handler) + defer s.Close() z := NewZone("testzone", "test") z.origin = testZone - z.TransferFrom = []string{addrstr} + z.TransferFrom = []string{s.Addr} // when we have a nil SOA (initial state) should, err := z.shouldTransfer() @@ -115,21 +110,14 @@ func TestShouldTransfer(t *testing.T) { func TestTransferIn(t *testing.T) { soa := soa{250} - dns.HandleFunc(testZone, soa.Handler) - defer dns.HandleRemove(testZone) - - s, addrstr, err := test.TCPServer("127.0.0.1:0") - if err != nil { - t.Fatalf("Unable to run test server: %v", err) - } - defer s.Shutdown() + s := dnstest.NewServer(soa.Handler) + defer s.Close() z := new(Zone) z.origin = testZone - z.TransferFrom = []string{addrstr} + z.TransferFrom = []string{s.Addr} - err = z.TransferIn() - if err != nil { + if err := z.TransferIn(); err != nil { t.Fatalf("Unable to run TransferIn: %v", err) } if z.Apex.SOA.String() != fmt.Sprintf("%s 3600 IN SOA bla. bla. 250 0 0 0 0", testZone) { diff --git a/plugin/test/server.go b/plugin/test/server.go deleted file mode 100644 index eb39c7a5b..000000000 --- a/plugin/test/server.go +++ /dev/null @@ -1,52 +0,0 @@ -package test - -import ( - "net" - "sync" - "time" - - "github.com/miekg/dns" -) - -// TCPServer starts a DNS server with a TCP listener on laddr. -func TCPServer(laddr string) (*dns.Server, string, error) { - l, err := net.Listen("tcp", laddr) - if err != nil { - return nil, "", err - } - - server := &dns.Server{Listener: l, ReadTimeout: time.Hour, WriteTimeout: time.Hour} - - waitLock := sync.Mutex{} - waitLock.Lock() - server.NotifyStartedFunc = func() { waitLock.Unlock() } - - go func() { - server.ActivateAndServe() - l.Close() - }() - - waitLock.Lock() - return server, l.Addr().String(), nil -} - -// UDPServer starts a DNS server with an UDP listener on laddr. -func UDPServer(laddr string) (*dns.Server, string, error) { - pc, err := net.ListenPacket("udp", laddr) - if err != nil { - return nil, "", err - } - server := &dns.Server{PacketConn: pc, ReadTimeout: time.Hour, WriteTimeout: time.Hour} - - waitLock := sync.Mutex{} - waitLock.Lock() - server.NotifyStartedFunc = func() { waitLock.Unlock() } - - go func() { - server.ActivateAndServe() - pc.Close() - }() - - waitLock.Lock() - return server, pc.LocalAddr().String(), nil -}