Ejemplo n.º 1
0
        private void RecordReceivedInfo(string message)
        {
            IPEndPoint local  = _socket.LocalEndPoint;
            IPEndPoint remote = _socket.RemoteEndPoint;

            _recorder.RecordInfo(GetType().Name,
                                 $"{message}: ({remote.Address}:{remote.Port}) -> ({local.Address}:{local.Port})");
        }
Ejemplo n.º 2
0
        public void ConstructorCall_WithParameters_ShouldRecordMessage()
        {
            _recorder = Mock.Create <IRecorder>();
            _sut      = new NetworkTunnel(_socket, _recorder);

            Mock.Assert(() => _recorder.RecordInfo(Arg.AnyString, Arg.AnyString), Occurs.Exactly(1));
        }
Ejemplo n.º 3
0
        private async Task OpenInternal()
        {
            _isOpened = true;
            _recorder.RecordInfo(nameof(NetworkPoint), $"NetworkPoint opened {(_sListener.LocalEndPoint).Address}:{(_sListener.LocalEndPoint).Port}");

            while (_isOpened)
            {
                _sListener.Listen(10);
                ISocket socket = await _sListener.AcceptAsync();

                SafeExecution.TryCatch(() => ConnectionAcceptedHandler(socket), ExceptionHandler);
            }
        }
Ejemplo n.º 4
0
        public void Send_ThrowsInterruptConnection_ShouldBeCaught()
        {
            var paramToSent = new byte[] { 0b01010101 };

            Mock.Arrange(() => _socket.Send(null)).IgnoreArguments().Throws(new SocketException(10054));
            _sut = new NetworkTunnel(_socket, _recorder);

            _sut.Send(paramToSent);

            Mock.Assert(() => _socket.Dispose(), Occurs.Exactly(1));
            Mock.Assert(() => _recorder.RecordInfo(Arg.AnyString, Arg.AnyString), Occurs.Exactly(3));
            Mock.Assert(() => _recorder.RecordError(Arg.AnyString, Arg.AnyString), Occurs.Never());
        }