Ejemplo n.º 1
0
        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.");
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        // 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;
        }
Ejemplo n.º 4
0
        public void TestSendThrowsExceptionIfNotConnected()
        {
            WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081");

            Assert.Throws <JetPeerException>(() =>
            {
                webSocketJetConnection.SendMessage("msg");
            });
        }
Ejemplo n.º 5
0
        public void TestDisconnectThrowsExceptionIfNotConnected()
        {
            WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081");

            Assert.Throws <JetPeerException>(() =>
            {
                webSocketJetConnection.Disconnect();
            });
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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.");
        }
Ejemplo n.º 13
0
        /// <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;
        }
Ejemplo n.º 14
0
        /// <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;
        }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
        // 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;
        }
Ejemplo n.º 17
0
        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);
        }
Ejemplo n.º 18
0
        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);
        }
Ejemplo n.º 19
0
        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);
        }
Ejemplo n.º 20
0
        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);
        }
Ejemplo n.º 21
0
        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);
        }
Ejemplo n.º 22
0
        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);
            });
        }
Ejemplo n.º 23
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);
        }
Ejemplo n.º 24
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);
        }
Ejemplo n.º 25
0
        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);
        }
Ejemplo n.º 26
0
        public void TestConstructorInitializesTimer()
        {
            WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081");

            Assert.IsAssignableFrom <TimerAdapter>(webSocketJetConnection.ConnectTimer);
        }