diff --git a/test/unit-tests/TestTcpSocketWriter.cs b/test/unit-tests/TestTcpSocketWriter.cs index aed5cb1..66862b2 100644 --- a/test/unit-tests/TestTcpSocketWriter.cs +++ b/test/unit-tests/TestTcpSocketWriter.cs @@ -84,15 +84,14 @@ public void TestReconnectFailure() [Fact] public async Task TestEventsQueuedWhileWaitingForInitialConnection() { - var listener = new TcpListener(IPAddress.Loopback, 0); - listener.Start(); - int port = ((IPEndPoint)listener.Server.LocalEndPoint).Port; - + int port = GetAFreeTcpPort(); + var writer = new TcpSocketWriter(IPAddress.Loopback, port, new ExponentialBackoffTcpReconnectionPolicy(), 100); writer.Enqueue("Event 1\r\n"); writer.Enqueue("Event 2\r\n"); + var listener = new TcpListener(IPAddress.Loopback, port); listener.Start(); var listenerClient = listener.AcceptTcpClient(); var receiverReader = new StreamReader(listenerClient.GetStream()); @@ -105,6 +104,15 @@ public async Task TestEventsQueuedWhileWaitingForInitialConnection() writer.Dispose(); } + private static int GetAFreeTcpPort() + { + var listener = new TcpListener(IPAddress.Loopback, 0); + listener.Start(); + int port = ((IPEndPoint)listener.Server.LocalEndPoint).Port; + listener.Stop(); + return port; + } + public class TriggeredTcpReconnectionPolicy : ITcpReconnectionPolicy { private AutoResetEvent trigger = new AutoResetEvent(false);