Beispiel #1
0
        public void Start_AuthentificationTimout_ShouldThrowEvent()
        {
            Mock <IMessageReader> reader         = new Mock <IMessageReader>();
            Mock <IMessageWriter> messageWritter = new Mock <IMessageWriter>();

            ECKeyPair key = new KeyPairGenerator().Generate();
            Peer      p   = new Peer(new TcpClient(), reader.Object, messageWritter.Object, 1234, key, 0);

            p.AuthTimeout = 100;

            AuthFinishedArgs authFinishedArgs = null;

            p.AuthFinished += (sender, args) =>
            {
                authFinishedArgs = args as AuthFinishedArgs;
            };

            p.Start();

            Task.Delay(200).Wait();

            Assert.NotNull(authFinishedArgs);
            Assert.False(authFinishedArgs.IsAuthentified);
            Assert.True(authFinishedArgs.Reason == RejectReason.AuthTimeout);
            Assert.False(p.IsAuthentified);
        }
Beispiel #2
0
        public void Start_AuthentificationNoTimout_ShouldThrowEvent()
        {
            int localPort  = 1234;
            int remotePort = 1235;

            Mock <IMessageReader> reader         = new Mock <IMessageReader>();
            Mock <IMessageWriter> messageWritter = new Mock <IMessageWriter>();

            ECKeyPair key = new KeyPairGenerator().Generate();
            Peer      p   = new Peer(new TcpClient(), reader.Object, messageWritter.Object, localPort, key, 0);

            p.AuthTimeout = 100;

            AuthFinishedArgs authFinishedArgs = null;

            p.AuthFinished += (sender, args) => {
                authFinishedArgs = args as AuthFinishedArgs;
            };

            p.Start();

            var(_, handshake) = NetworkTestHelpers.CreateKeyPairAndHandshake(remotePort);
            p.AuthentifyWith(handshake);

            Task.Delay(200).Wait();

            Assert.Null(authFinishedArgs);
            Assert.True(p.IsAuthentified);
        }