Ejemplo n.º 1
0
        public static void Test_Session_Throws_Null_Arg_OnRequestRecieve_When_MessageParameters_Is_Null()
        {
            //arrange
            UserClientPeerSession session = new UserClientPeerSession(Mock.Of <ILog>(), Mock.Of <INetworkMessageRouterService>(),
                                                                      new Mock <IConnectionDetails>(MockBehavior.Loose).Object, Mock.Of <INetworkMessageSubscriptionService>(), Mock.Of <IDisconnectionServiceHandler>(), Mock.Of <INetworkMessageRouteBackService>(), Mock.Of <IRequestMessageHandlerService <UserClientPeerSession> >());

            //assert
            Assert.Throws <ArgumentNullException>(() => GrabProtectedOnRecieveRequestMethod(session).Invoke(Mock.Of <IRequestMessage>(), null));
        }
Ejemplo n.º 2
0
        public static void Test_Session_Does_Process_Encrypted_Messages()
        {
            //arrange
            Mock <IRequestMessageHandlerService <UserClientPeerSession> > handler = new Mock <IRequestMessageHandlerService <UserClientPeerSession> >(MockBehavior.Loose);
            UserClientPeerSession session = new UserClientPeerSession(Mock.Of <ILog>(), Mock.Of <INetworkMessageRouterService>(),
                                                                      new Mock <IConnectionDetails>(MockBehavior.Loose).Object, Mock.Of <INetworkMessageSubscriptionService>(), Mock.Of <IDisconnectionServiceHandler>(), Mock.Of <INetworkMessageRouteBackService>(), handler.Object);
            Mock <IMessageParameters> messageParameters = new Mock <IMessageParameters>();

            messageParameters.SetupGet(mp => mp.Encrypted).Returns(true);

            //act
            //Generate and bind a method to a delegate
            Action <IRequestMessage, IMessageParameters> method = GrabProtectedOnRecieveRequestMethod(session);

            method.Invoke(Mock.Of <IRequestMessage>(), messageParameters.Object);

            //assert
            //Make sure the message didn't make it to the handler
            handler.Verify(x => x.TryProcessMessage(It.IsAny <IRequestMessage>(), It.IsAny <IMessageParameters>(), session), Times.Once());
        }
Ejemplo n.º 3
0
 public static Action <IRequestMessage, IMessageParameters> GrabProtectedOnRecieveRequestMethod(UserClientPeerSession session)
 {
     return(Delegate.CreateDelegate(typeof(Action <IRequestMessage, IMessageParameters>), session, session.GetType().GetMethod("OnReceiveRequest", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public, null, new Type[] { typeof(IRequestMessage), typeof(IMessageParameters) }, null)) as Action <IRequestMessage, IMessageParameters>);
 }