diff options
Diffstat (limited to 'plugin/forward/health_test.go')
-rw-r--r-- | plugin/forward/health_test.go | 64 |
1 files changed, 30 insertions, 34 deletions
diff --git a/plugin/forward/health_test.go b/plugin/forward/health_test.go index 9917b3a37..7cb928d22 100644 --- a/plugin/forward/health_test.go +++ b/plugin/forward/health_test.go @@ -7,6 +7,7 @@ import ( "time" "github.com/coredns/coredns/plugin/pkg/dnstest" + "github.com/coredns/coredns/plugin/pkg/proxy" "github.com/coredns/coredns/plugin/pkg/transport" "github.com/coredns/coredns/plugin/test" @@ -14,9 +15,6 @@ import ( ) func TestHealth(t *testing.T) { - hcReadTimeout = 10 * time.Millisecond - hcWriteTimeout = 10 * time.Millisecond - readTimeout = 10 * time.Millisecond defaultTimeout = 10 * time.Millisecond i := uint32(0) @@ -35,7 +33,9 @@ func TestHealth(t *testing.T) { }) defer s.Close() - p := NewProxy(s.Addr, transport.DNS) + p := proxy.NewProxy(s.Addr, transport.DNS) + p.GetHealthchecker().SetReadTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetWriteTimeout(10 * time.Millisecond) f := New() f.SetProxy(p) defer f.OnShutdown() @@ -53,9 +53,6 @@ func TestHealth(t *testing.T) { } func TestHealthTCP(t *testing.T) { - hcReadTimeout = 10 * time.Millisecond - hcWriteTimeout = 10 * time.Millisecond - readTimeout = 10 * time.Millisecond defaultTimeout = 10 * time.Millisecond i := uint32(0) @@ -74,8 +71,10 @@ func TestHealthTCP(t *testing.T) { }) defer s.Close() - p := NewProxy(s.Addr, transport.DNS) - p.health.SetTCPTransport() + p := proxy.NewProxy(s.Addr, transport.DNS) + p.GetHealthchecker().SetReadTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetWriteTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetTCPTransport() f := New() f.SetProxy(p) defer f.OnShutdown() @@ -93,10 +92,7 @@ func TestHealthTCP(t *testing.T) { } func TestHealthNoRecursion(t *testing.T) { - hcReadTimeout = 10 * time.Millisecond - readTimeout = 10 * time.Millisecond defaultTimeout = 10 * time.Millisecond - hcWriteTimeout = 10 * time.Millisecond i := uint32(0) q := uint32(0) @@ -114,8 +110,10 @@ func TestHealthNoRecursion(t *testing.T) { }) defer s.Close() - p := NewProxy(s.Addr, transport.DNS) - p.health.SetRecursionDesired(false) + p := proxy.NewProxy(s.Addr, transport.DNS) + p.GetHealthchecker().SetReadTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetWriteTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetRecursionDesired(false) f := New() f.SetProxy(p) defer f.OnShutdown() @@ -133,9 +131,6 @@ func TestHealthNoRecursion(t *testing.T) { } func TestHealthTimeout(t *testing.T) { - hcReadTimeout = 10 * time.Millisecond - hcWriteTimeout = 10 * time.Millisecond - readTimeout = 10 * time.Millisecond defaultTimeout = 10 * time.Millisecond i := uint32(0) @@ -159,7 +154,9 @@ func TestHealthTimeout(t *testing.T) { }) defer s.Close() - p := NewProxy(s.Addr, transport.DNS) + p := proxy.NewProxy(s.Addr, transport.DNS) + p.GetHealthchecker().SetReadTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetWriteTimeout(10 * time.Millisecond) f := New() f.SetProxy(p) defer f.OnShutdown() @@ -177,19 +174,20 @@ func TestHealthTimeout(t *testing.T) { } func TestHealthMaxFails(t *testing.T) { - hcReadTimeout = 10 * time.Millisecond - hcWriteTimeout = 10 * time.Millisecond - readTimeout = 10 * time.Millisecond defaultTimeout = 10 * time.Millisecond - hcInterval = 10 * time.Millisecond + //,hcInterval = 10 * time.Millisecond s := dnstest.NewServer(func(w dns.ResponseWriter, r *dns.Msg) { // timeout }) defer s.Close() - p := NewProxy(s.Addr, transport.DNS) + p := proxy.NewProxy(s.Addr, transport.DNS) + p.SetReadTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetReadTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetWriteTimeout(10 * time.Millisecond) f := New() + f.hcInterval = 10 * time.Millisecond f.maxfails = 2 f.SetProxy(p) defer f.OnShutdown() @@ -200,18 +198,14 @@ func TestHealthMaxFails(t *testing.T) { f.ServeDNS(context.TODO(), &test.ResponseWriter{}, req) time.Sleep(100 * time.Millisecond) - fails := atomic.LoadUint32(&p.fails) + fails := p.Fails() if !p.Down(f.maxfails) { t.Errorf("Expected Proxy fails to be greater than %d, got %d", f.maxfails, fails) } } func TestHealthNoMaxFails(t *testing.T) { - hcReadTimeout = 10 * time.Millisecond - hcWriteTimeout = 10 * time.Millisecond - readTimeout = 10 * time.Millisecond defaultTimeout = 10 * time.Millisecond - hcInterval = 10 * time.Millisecond i := uint32(0) s := dnstest.NewServer(func(w dns.ResponseWriter, r *dns.Msg) { @@ -225,7 +219,9 @@ func TestHealthNoMaxFails(t *testing.T) { }) defer s.Close() - p := NewProxy(s.Addr, transport.DNS) + p := proxy.NewProxy(s.Addr, transport.DNS) + p.GetHealthchecker().SetReadTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetWriteTimeout(10 * time.Millisecond) f := New() f.maxfails = 0 f.SetProxy(p) @@ -244,10 +240,8 @@ func TestHealthNoMaxFails(t *testing.T) { } func TestHealthDomain(t *testing.T) { - hcReadTimeout = 10 * time.Millisecond - readTimeout = 10 * time.Millisecond defaultTimeout = 10 * time.Millisecond - hcWriteTimeout = 10 * time.Millisecond + hcDomain := "example.org." i := uint32(0) q := uint32(0) @@ -264,8 +258,10 @@ func TestHealthDomain(t *testing.T) { w.WriteMsg(ret) }) defer s.Close() - p := NewProxy(s.Addr, transport.DNS) - p.health.SetDomain(hcDomain) + p := proxy.NewProxy(s.Addr, transport.DNS) + p.GetHealthchecker().SetReadTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetWriteTimeout(10 * time.Millisecond) + p.GetHealthchecker().SetDomain(hcDomain) f := New() f.SetProxy(p) defer f.OnShutdown() |