示例#1
0
        public void AfterReceiveRequest_Null_HttpRequestMessage_Throws()
        {
            IDispatchMessageInspector inspector = new MockHttpMessageInspector();
            Message         wcfMessage          = Message.CreateMessage(MessageVersion.None, "unused");;
            IClientChannel  channel             = new MockClientChannel();
            InstanceContext context             = new InstanceContext(new MockService1());

            ExceptionAssert.ThrowsInvalidOperation(
                "Message without HttpRequestMessage should throw",
                () =>
            {
                inspector.AfterReceiveRequest(ref wcfMessage, channel, context);
            });
        }
示例#2
0
        public void AfterReceiveRequest_Null_Message_Throws()
        {
            IDispatchMessageInspector inspector = new MockHttpMessageInspector();
            Message         wcfMessage          = null;
            IClientChannel  channel             = new MockClientChannel();
            InstanceContext context             = new InstanceContext(new MockService1());

            ExceptionAssert.ThrowsArgumentNull(
                "Null WCF message argument should throw",
                "request",
                () =>
            {
                inspector.AfterReceiveRequest(ref wcfMessage, channel, context);
            });
        }
示例#3
0
        public void AfterReceiveRequest_Receives_HttpRequestMessage()
        {
            HttpRequestMessage httpRequestMessage = new HttpRequestMessage();
            Message            wcfMessage         = httpRequestMessage.ToMessage();
            IClientChannel     channel            = new MockClientChannel();
            InstanceContext    context            = new InstanceContext(new MockService1());

            IDispatchMessageInspector inspector = new MockHttpMessageInspector()
            {
                OnAfterReceiveRequest = actualMessage =>
                {
                    Assert.AreSame(httpRequestMessage, actualMessage, "AfterReceiveRequest did not receive the HttpRequestMessage");
                    return /*state*/ (null);
                }
            };

            inspector.AfterReceiveRequest(ref wcfMessage, channel, context);
            Assert.IsTrue(((MockHttpMessageInspector)inspector).WasAfterReceiveRequestCalled, "AfterReceiveRequest in derived class was not called");
        }
示例#4
0
        public void AfterReceiveRequest_Returns_Custom_State_Value()
        {
            string          stringInstance = "hello";
            Message         wcfMessage     = new HttpRequestMessage().ToMessage();
            IClientChannel  channel        = new MockClientChannel();
            InstanceContext context        = new InstanceContext(new MockService1());

            IDispatchMessageInspector inspector = new MockHttpMessageInspector()
            {
                OnAfterReceiveRequest = actualMessage =>
                {
                    return(stringInstance);
                }
            };

            object returnedValue = inspector.AfterReceiveRequest(ref wcfMessage, channel, context);

            Assert.IsTrue(((MockHttpMessageInspector)inspector).WasAfterReceiveRequestCalled, "AfterReceiveRequest in derived class was not called");
            Assert.AreSame(stringInstance,
                           returnedValue,
                           "AfterReceiveRequest return value is not the one we returned.");
        }