public void TestConstructorIsNotConnected() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); Assert.IsFalse(webSocketJetConnection.IsConnected, $"Expected {nameof(webSocketJetConnection.IsConnected)} to be true but received false."); }
private JetFetch() { // var connection = new WebSocketJetConnection("wss://172.19.1.1"); var connection = new WebSocketJetConnection("ws://172.19.1.1:11123"); this.peer = new JetPeer(connection); this.peer.Connect(this.OnConnect, 5000); }
// Constructor with ssh certification public JetBusConnection(string IPAddress, int TimeoutMs = 20000) { string _uri = "wss://" + IPAddress + ":443/jet/canopen"; IJetConnection jetConnection = new WebSocketJetConnection(_uri, RemoteCertificationCheck); _peer = new JetPeer(jetConnection); this._timeoutMs = TimeoutMs; }
public void TestSendThrowsExceptionIfNotConnected() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); Assert.Throws <JetPeerException>(() => { webSocketJetConnection.SendMessage("msg"); }); }
public void TestDisconnectThrowsExceptionIfNotConnected() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); Assert.Throws <JetPeerException>(() => { webSocketJetConnection.Disconnect(); }); }
public void TestContructorSetsCertificationCallback() { RemoteCertificateValidationCallback certificationCallback = A.Dummy <RemoteCertificateValidationCallback>(); WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("wss://172.19.191.179:8081", certificationCallback); Assert.AreEqual(SslProtocols.Tls, webSocketJetConnection.WebSocket.SslConfiguration.EnabledSslProtocols); Assert.AreEqual(certificationCallback, webSocketJetConnection.WebSocket.SslConfiguration.ServerCertificateValidationCallback); }
public void TestDisposeTimer() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); ITimer timer = A.Fake <ITimer>(); webSocketJetConnection.ConnectTimer = timer; timer.Enabled = false; webSocketJetConnection.Dispose(); A.CallTo(() => timer.Dispose()).MustHaveHappened(Repeated.Exactly.Once); }
public void TestDisposeWebSocket() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); IWebSocket webSocket = A.Fake <IWebSocket>(); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.Dispose(); A.CallTo(() => webSocket.Dispose()).MustHaveHappened(Repeated.Exactly.Once); }
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); }
private JetState() { // var connection = new WebSocketJetConnection("wss://172.19.1.1"); var connection = new WebSocketJetConnection("ws://172.19.1.1:11123/api/jet/"); //IPAddress[] ips; //ips = Dns.GetHostAddresses("172.19.1.1"); // var connection = new SocketJetConnection(ips[0], 11122); this.peer = new JetPeer(connection); this.peer.Connect(this.OnConnect, 5000); }
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."); }
/// <summary> /// Initializes a new instance of the <see cref="JetBusConnection" /> class. /// Use this constructor for individual authentication /// </summary> /// <param name="ipAddress">IP address of the target device</param> public DSEJetConnection(string ipAddress) { string _uri; IJetConnection jetConnection; _uri = "ws://" + ipAddress + ":80/jet/canopen"; jetConnection = new WebSocketJetConnection(_uri); _peer = new JetPeer(jetConnection); this.IpAddress = ipAddress; }
/// <summary> /// Initializes a new instance of the <see cref="JetBusConnection" /> class. /// Use this constructor for individual authentication /// </summary> /// <param name="ipAddress">IP address of the target device</param> /// <param name="user">User for device authentication</param> /// <param name="password">Password for device authentication</param> public JetBusConnection(string ipAddress, string user, string password) { string _uri = "wss://" + ipAddress + ":443/jet/canopen"; IJetConnection jetConnection = new WebSocketJetConnection(_uri, RemoteCertificationCheck); _peer = new JetPeer(jetConnection); this._user = user; this._password = password; this.IpAddress = ipAddress; }
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); }
// Constructor without ssh certification. public JetBusConnection(string IPAddress, string User, string Password, int TimeoutMs = 20000) { string _uri = "wss://" + IPAddress + ":443/jet/canopen"; IJetConnection jetConnection = new WebSocketJetConnection(_uri, RemoteCertificationCheck); _peer = new JetPeer(jetConnection); this._user = User; this._password = Password; this._timeoutMs = TimeoutMs; this._ipaddress = IPAddress; }
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 TestConnectCallsWebSocketConnectAsync() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); ITimer timer = A.Dummy <ITimer>(); webSocketJetConnection.ConnectTimer = timer; IWebSocket webSocket = A.Fake <IWebSocket>(); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0); A.CallTo(() => webSocket.ConnectAsync()).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 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 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 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 TestHandleIncomingMessageDoesNotInvokeEventHandlerIfMessageIsNotText() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); IWebSocket webSocket = A.Fake <IWebSocket>(); webSocketJetConnection.SetWebSocket(webSocket); List <StringEventArgs> receivedEvents = new List <StringEventArgs>(); webSocketJetConnection.HandleIncomingMessage += delegate(object sender, StringEventArgs args) { receivedEvents.Add(args); }; webSocket.OnMessage += Raise.With(webSocket, CreateMessageEventArgsUsingReflection(false)); Assert.AreEqual(0, receivedEvents.Count); }
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); }
public void TestHandleIncomingMessageInvokesEventHandlerMessageIsText() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); IWebSocket webSocket = A.Fake <IWebSocket>(); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0); List <StringEventArgs> receivedEvents = new List <StringEventArgs>(); webSocketJetConnection.HandleIncomingMessage += delegate(object sender, StringEventArgs args) { receivedEvents.Add(args); }; int numOfMessageEvents = 5; for (int i = 0; i < numOfMessageEvents; i++) { webSocket.OnMessage += Raise.With(webSocket, CreateMessageEventArgsUsingReflection(true)); } Assert.AreEqual(numOfMessageEvents, receivedEvents.Count); }
public void TestConstructorInitializesTimer() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); Assert.IsAssignableFrom <TimerAdapter>(webSocketJetConnection.ConnectTimer); }