Пример #1
0
        public void TCPClient_ClientDisconnects_CallbackCalled()
        {
            //Arrange
            Client client           = null;
            Client clientDisconnect = null;

            server.Start("127.0.0.1", 0);
            ObjectTransport serverObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(server);

            tcpclient.Start("127.0.0.1", server.LocalPort);
            ObjectTransport clientObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(tcpclient);

            clientObjectTransport.OnClientDisconnect(c => clientDisconnect = c);
            client = clientObjectTransport.GetConnectedClients().First();

            Utilities.WaitFor(ref client);
            Utilities.WaitFor(() => serverObjectTransport.GetConnectedClients().Count() == 1);

            //Act
            serverObjectTransport.Stop();

            Utilities.WaitFor(ref clientDisconnect);

            //Assert
            Assert.AreEqual(client.IPAddress, "127.0.0.1");
            Assert.AreEqual(clientDisconnect.IPAddress, "127.0.0.1");
            Assert.AreEqual(clientDisconnect, client);
            Utilities.WaitFor(() => clientObjectTransport.GetConnectedClients().Count() == 0);
            Utilities.WaitFor(() => serverObjectTransport.GetConnectedClients().Count() == 0);
        }
        public void TCPServer_WhenClientConnects_CallbackFunctionCalled()
        {
            bool connected = false;

            tcpserver.Start("127.0.0.1", 0);
            tcpserver.OnClientConnect(c => connected = true);

            tcpclient.Start("127.0.0.1", tcpserver.LocalPort);

            Utilities.WaitFor(ref connected);
            Assert.IsTrue(connected);
        }
Пример #3
0
        /// <summary>
        /// Image service constructor.
        /// </summary>
        /// <param name="args"></param>
        public ImageService(string[] args)
        {
            try
            {
                InitializeComponent();
                //Get settings from app.config.
                ServiceSettings serviceSettings = ServiceSettings.GetServiceSettings();
                //Set service settings.
                string eventSourceName = serviceSettings.SourceName;
                //Set log name.
                string logName = serviceSettings.LogName;
                if (args.Count() > 0)
                {
                    eventSourceName = args[0];
                }
                if (args.Count() > 1)
                {
                    logName = args[1];
                }
                //Create event logger.
                eventLog1 = new System.Diagnostics.EventLog();
                if (!System.Diagnostics.EventLog.SourceExists(eventSourceName))
                {
                    System.Diagnostics.EventLog.CreateEventSource(eventSourceName, logName);
                }
                eventLog1.Source = eventSourceName;
                eventLog1.Log    = logName;

                //Create image service modal.
                m_imageServiceModal = new ImageServiceModal(serviceSettings.OutputDir, serviceSettings.ThumbnailSize);
                //Create logging service.
                m_loggingService = new LoggingService();
                m_loggingService.MessageRecieved += WriteToLog;
                //Create controller.
                m_controller = new ImageController(m_imageServiceModal);
                //Create image server.
                m_imageServer = new ImageServer(m_controller, m_loggingService, serviceSettings.Handlers);
                m_loggingService.Log("Image service created", MessageTypeEnum.INFO);

                HandleAndroidClient handleAndroidRequest = new HandleAndroidClient(m_loggingService, m_imageServiceModal, serviceSettings.Handlers[0]);
                m_tcpServer = new TCPServerChannel(1102, m_loggingService, handleAndroidRequest);

                //handleGuiRequest.NotifyClients += m_tcpServer.NotifyClientsOnChange;
                m_loggingService.NotifyClients += m_tcpServer.NotifyClientsOnChange;

                m_tcpServer.Start();
            }
            catch (Exception e)
            {
                m_loggingService.Log("Failed creating image service, exception: " + e.Message, MessageTypeEnum.FAIL);
            }
        }
Пример #4
0
        public static Tuple <ObjectTransport, ObjectTransport> GetConnectObjectTransports()
        {
            server.Start("127.0.0.1", 0);

            ObjectTransport serverObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(server);

            tcpclient.Start("127.0.0.1", server.LocalPort);
            ObjectTransport client = TestObjectTransportFactory.CreateNewObjectTransport(tcpclient);

            Tuple <ObjectTransport, ObjectTransport> result = new Tuple <ObjectTransport, ObjectTransport>(serverObjectTransport, client);

            return(result);
        }
        public void TCPNetwork_SendAndReplyMessage_ResponseIsCalled()
        {
            //Arrange
            Client client           = null;
            Client clientDisconnect = null;

            tcpserver.Start("127.0.0.1", 0);
            ObjectTransport serverObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(tcpserver);

            tcpclient.Start("127.0.0.1", tcpserver.LocalPort);
            ObjectTransport clientObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(tcpclient);

            clientObjectTransport.OnClientDisconnect(c => clientDisconnect = c);
            client = clientObjectTransport.GetConnectedClients().First();

            Utilities.WaitFor(ref client);
            Utilities.WaitFor(() => serverObjectTransport.GetConnectedClients().Count() == 1);

            //Act
            serverObjectTransport.Receive <MockObjectMessage>()
            .Reply((o) => { return(o); })
            .Execute();


            var mockObject = new MockObjectMessage()
            {
                Property1_string = "Mock Object"
            };
            MockObjectMessage responseObject = null;

            clientObjectTransport.Send(mockObject)
            .Response <MockObjectMessage>((r) => { responseObject = r; })
            .Execute();

            Utilities.WaitFor(ref responseObject);

            //Assert
            Assert.AreEqual(responseObject.Property1_string, "Mock Object");
        }