public void TestSendCallsWebSocketSend() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); IWebSocket webSocket = WebSocketFakesFactory.CreateWebSocketThatConnectsAndClosesSuccessful(); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0); webSocketJetConnection.SendMessage("msg"); A.CallTo(() => webSocket.Send("msg")).MustHaveHappened(Repeated.Exactly.Once); }
public void TestDiconnectCallsWebSocketCloseAsync() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); IWebSocket webSocket = WebSocketFakesFactory.CreateWebSocketThatConnectsAndClosesSuccessful(); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0); webSocketJetConnection.Disconnect(); A.CallTo(() => webSocket.CloseAsync(CloseStatusCode.Away)).MustHaveHappened(Repeated.Exactly.Once); }
public void TestDisconnectSucceeds() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); IWebSocket webSocket = WebSocketFakesFactory.CreateWebSocketThatConnectsAndClosesSuccessful(); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0); webSocketJetConnection.Disconnect(); Assert.IsFalse(webSocketJetConnection.IsConnected, $"Expected {webSocketJetConnection.IsConnected} to be false but received true."); }
public void TestConnectSucceeds() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); ITimer timer = A.Dummy <ITimer>(); webSocketJetConnection.ConnectTimer = timer; IWebSocket webSocket = WebSocketFakesFactory.CreateWebSocketThatConnectsSuccessful(); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0); Assert.IsTrue(webSocketJetConnection.IsConnected); }
public void TestConnectTimeoutClosesWebSocketIfAlive() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); ITimer timer = A.Fake <ITimer>(); IWebSocket webSocket = WebSocketFakesFactory.CreateWebSocketThatFailsConnectDueTimeout(timer); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.ConnectTimer = timer; A.CallTo(() => webSocket.IsAlive).Returns(true); webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0); A.CallTo(() => webSocket.Close()).MustHaveHappened(Repeated.Exactly.Once); }
public void TestConnectTimeoutInvokesCompleteAction() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); ITimer timer = A.Fake <ITimer>(); IWebSocket webSocket = WebSocketFakesFactory.CreateWebSocketThatFailsConnectDueTimeout(timer); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.ConnectTimer = timer; A.CallTo(() => webSocket.IsAlive).Returns(false); Action <bool> completed = A.Fake <Action <bool> >(); webSocketJetConnection.Connect(completed, 10.0); A.CallTo(() => completed(false)).MustHaveHappened(Repeated.Exactly.Once); }
public void TestConnectCallsTimer() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); IWebSocket webSocket = WebSocketFakesFactory.CreateWebSocketThatConnectsSuccessful(); webSocketJetConnection.SetWebSocket(webSocket); ITimer timer = A.Fake <ITimer>(); webSocketJetConnection.ConnectTimer = timer; double timeoutMs = 4242.42; webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), timeoutMs); AssertTimerCallsOnConnect(timer, timeoutMs); }
public void TestConnectInvokesCompletedAction() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); ITimer timer = A.Dummy <ITimer>(); webSocketJetConnection.ConnectTimer = timer; IWebSocket webSocket = WebSocketFakesFactory.CreateWebSocketThatConnectsSuccessful(); A.CallTo(() => webSocket.IsAlive).Returns(true); webSocketJetConnection.SetWebSocket(webSocket); Action <bool> completed = A.Fake <Action <bool> >(); webSocketJetConnection.Connect(completed, 1000.0); A.CallTo(() => completed(true)).MustHaveHappened(Repeated.Exactly.Once); }
public void TestConnectThrowsExceptionIfAlreadyConnected() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); ITimer timer = A.Dummy <ITimer>(); webSocketJetConnection.ConnectTimer = timer; IWebSocket webSocket = WebSocketFakesFactory.CreateWebSocketThatConnectsSuccessful(); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0); Assert.Throws <JetPeerException>(() => { //Second call. webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0); }); }
public void TestConnectTimeoutCallsTimer() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); ITimer timer = A.Fake <ITimer>(); IWebSocket webSocket = WebSocketFakesFactory.CreateWebSocketThatFailsConnectDueTimeout(timer); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.ConnectTimer = timer; Action <bool> connectCallback = A.Fake <Action <bool> >(); A.CallTo(() => connectCallback(false)).Invokes(() => { webSocket.OnOpen += Raise.WithEmpty(); }); webSocketJetConnection.Connect(connectCallback, 1234.56); AssertTimerCallsOnConnect(timer, 1234.56); A.CallTo(() => connectCallback(true)).MustNotHaveHappened(); A.CallTo(() => connectCallback(false)).MustHaveHappened(Repeated.Exactly.Once); }