public static void Test_Session_Throws_Null_Arg_OnRequestRecieve_When_Payload_Is_Null() { //arrange AuthServiceClientPeer session = new AuthServiceClientPeer(Mock.Of <ILog>(), Mock.Of <INetworkMessageRouterService>(), new Mock <IConnectionDetails>(MockBehavior.Loose).Object, Mock.Of <INetworkMessageSubscriptionService>(), Mock.Of <IDisconnectionServiceHandler>(), Mock.Of <INetworkMessageRouteBackService>(), Mock.Of <IResponseMessageHandlerService <AuthServiceClientPeer> >()); //assert Assert.Throws <ArgumentNullException>(() => GrabProtectedOnRecieveResponseMethod(session).Invoke(null, Mock.Of <IMessageParameters>())); }
public static void Test_Session_Does_Process_Encrypted_Messages() { //arrange Mock <IResponseMessageHandlerService <AuthServiceClientPeer> > handler = new Mock <IResponseMessageHandlerService <AuthServiceClientPeer> >(MockBehavior.Loose); AuthServiceClientPeer session = new AuthServiceClientPeer(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 <IResponseMessage, IMessageParameters> method = GrabProtectedOnRecieveResponseMethod(session); method.Invoke(Mock.Of <IResponseMessage>(), messageParameters.Object); //assert //Make sure the message didn't make it to the handler handler.Verify(x => x.TryProcessMessage(It.IsAny <IResponseMessage>(), It.IsAny <IMessageParameters>(), session), Times.Once()); }
//TODO: When message parameters are implemented in the GladNet.ASP.Client implementation we should start null checking them. /*[Test] * public static void Test_Session_Throws_Null_Arg_OnRequestRecieve_When_MessageParameters_Is_Null() * { * //arrange * AuthServiceClientPeer session = new AuthServiceClientPeer(Mock.Of<ILog>(), Mock.Of<INetworkMessageSender>(), * new Mock<IConnectionDetails>(MockBehavior.Loose).Object, Mock.Of<INetworkMessageSubscriptionService>(), Mock.Of<IDisconnectionServiceHandler>(), Mock.Of<IResponsePayloadHandlerService<AuthServiceClientPeer>>()); * * //assert * Assert.Throws<ArgumentNullException>(() => GrabProtectedOnRecieveRequestMethod(session).Invoke(Mock.Of<PacketPayload>(), null)); * }*/ public static Action <IResponseMessage, IMessageParameters> GrabProtectedOnRecieveResponseMethod(AuthServiceClientPeer session) { return(Delegate.CreateDelegate(typeof(Action <IResponseMessage, IMessageParameters>), session, session.GetType().GetMethod("OnReceiveResponse", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public, null, new Type[] { typeof(IResponseMessage), typeof(IMessageParameters) }, null)) as Action <IResponseMessage, IMessageParameters>); }