diff --git a/internal/server/monitoring_registration_test.go b/internal/server/monitoring_registration_test.go index 9c0075f..a577a0a 100644 --- a/internal/server/monitoring_registration_test.go +++ b/internal/server/monitoring_registration_test.go @@ -1,6 +1,7 @@ package server import ( + "net" "testing" "time" @@ -22,22 +23,19 @@ func TestMonitoringEndpoints_OnlyRegisteredWhenEnabled(t *testing.T) { }}, } + ln, err := net.Listen("tcp", "127.0.0.1:0") + if err != nil { + t.Fatalf("listen failed: %v", err) + } + defer ln.Close() + addr := ln.Addr().String() + + cfg.Servers[0].Listen = addr srv := New(cfg) + srv.SetListeners([]net.Listener{ln}) go srv.Start() defer srv.StopWithTimeout(5 * time.Second) - var addr string - for start := time.Now(); time.Since(start) < 2*time.Second; time.Sleep(10 * time.Millisecond) { - listeners := srv.GetListeners() - if len(listeners) > 0 { - addr = listeners[0].Addr().String() - break - } - } - if addr == "" { - t.Fatal("server has no listeners") - } - client := &fasthttp.Client{} req := fasthttp.AcquireRequest() resp := fasthttp.AcquireResponse() @@ -74,22 +72,19 @@ func TestMonitoringEndpoints_ReachableWhenEnabled(t *testing.T) { }}, } + ln, err := net.Listen("tcp", "127.0.0.1:0") + if err != nil { + t.Fatalf("listen failed: %v", err) + } + defer ln.Close() + addr := ln.Addr().String() + + cfg.Servers[0].Listen = addr srv := New(cfg) + srv.SetListeners([]net.Listener{ln}) go srv.Start() defer srv.StopWithTimeout(5 * time.Second) - var addr string - for start := time.Now(); time.Since(start) < 2*time.Second; time.Sleep(10 * time.Millisecond) { - listeners := srv.GetListeners() - if len(listeners) > 0 { - addr = listeners[0].Addr().String() - break - } - } - if addr == "" { - t.Fatal("server has no listeners") - } - client := &fasthttp.Client{} req := fasthttp.AcquireRequest() resp := fasthttp.AcquireResponse()