public void BeforeSendReply_Null_Message_Throws()
        {
            IDispatchMessageInspector inspector = new SHttpMessageInspector();
            Message wcfMessage = null;

            ExceptionAssert.ThrowsArgumentNull("reply", () => inspector.BeforeSendReply(ref wcfMessage, correlationState: null));
        }
        public void AfterReceiveRequest_HttpMessageInspector_Null_Message_Throws()
        {
            HttpMessageInspector inspector = new SHttpMessageInspector();
            InstanceContext      context   = new InstanceContext(new EmptyService());

            ExceptionAssert.ThrowsArgumentNull("request", () => inspector.AfterReceiveRequest(null));
        }
        public void AfterReceiveRequest_Null_Message_Throws()
        {
            IDispatchMessageInspector inspector = new SHttpMessageInspector();
            Message         wcfMessage          = null;
            InstanceContext context             = new InstanceContext(new EmptyService());

            ExceptionAssert.ThrowsArgumentNull("request", () => inspector.AfterReceiveRequest(ref wcfMessage, null, context));
        }
        public void BeforeSendReply_Null_HttpResponseMessage_Throws()
        {
            IDispatchMessageInspector inspector = new SHttpMessageInspector();
            Message wcfMessage = Message.CreateMessage(MessageVersion.None, "unused");

            ExceptionAssert.Throws <InvalidOperationException>(
                SR.HttpMessageInspectorNullMessage(typeof(SHttpMessageInspector).Name, typeof(HttpResponseMessage).Name, "BeforeSendReply"),
                () => inspector.BeforeSendReply(ref wcfMessage, correlationState: null));
        }
        public void AfterReceiveRequest_Null_HttpRequestMessage_Throws()
        {
            IDispatchMessageInspector inspector = new SHttpMessageInspector();
            Message         wcfMessage          = Message.CreateMessage(MessageVersion.None, "unused");;
            InstanceContext context             = new InstanceContext(new EmptyService());

            ExceptionAssert.Throws <InvalidOperationException>(
                SR.HttpMessageInspectorNullMessage(typeof(SHttpMessageInspector).Name, typeof(HttpRequestMessage).Name, "AfterReceiveRequest"),
                () =>
            {
                inspector.AfterReceiveRequest(ref wcfMessage, null, context);
            });
        }
        public void AfterReceiveRequest_Returns_Custom_State_Value()
        {
            string          stringInstance = "hello";
            Message         wcfMessage     = new HttpRequestMessage().ToMessage();
            InstanceContext context        = new InstanceContext(new EmptyService());

            SHttpMessageInspector inspector = new SHttpMessageInspector();

            inspector.OnAfterReceiveRequestHttpRequestMessage = (localMessage) => stringInstance;

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

            Assert.AreSame(stringInstance, returnedValue, "AfterReceiveRequest return value is not the one we returned.");
        }
        public void BeforeSendReply_Receives_Custom_CorrelationState()
        {
            HttpResponseMessage httpResponseMessage = new HttpResponseMessage();
            Message             wcfMessage          = httpResponseMessage.ToMessage();
            object correlationState = "Hello";

            SHttpMessageInspector inspector = new SHttpMessageInspector();

            inspector.OnBeforeSendReplyHttpResponseMessageObject =
                (actualMessage, state) =>
            {
                Assert.AreSame(correlationState, state, "BeforeSendReply did not receive the state we provided.");
            };

            ((IDispatchMessageInspector)inspector).BeforeSendReply(ref wcfMessage, correlationState);
        }
        public void BeforeSendReply_Receives_HttpResponseMessage()
        {
            HttpResponseMessage httpResponseMessage = new HttpResponseMessage();
            Message             wcfMessage          = httpResponseMessage.ToMessage();

            SHttpMessageInspector inspector = new SHttpMessageInspector();

            inspector.OnBeforeSendReplyHttpResponseMessageObject =
                (actualMessage, state) =>
            {
                Assert.AreSame(httpResponseMessage, actualMessage, "BeforeSendReply did not receive the message we provided.");
            };

            ((IDispatchMessageInspector)inspector).BeforeSendReply(ref wcfMessage, correlationState: null);
            Assert.AreSame(httpResponseMessage, wcfMessage.ToHttpResponseMessage(), "Expected embedded HttpResponseMessage to remain unmodified");
        }
        public void AfterReceiveRequest_Receives_HttpRequestMessage()
        {
            HttpRequestMessage httpRequestMessage = new HttpRequestMessage();
            Message            wcfMessage         = httpRequestMessage.ToMessage();
            InstanceContext    context            = new InstanceContext(new EmptyService());

            SHttpMessageInspector inspector = new SHttpMessageInspector();

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

            ((IDispatchMessageInspector)inspector).AfterReceiveRequest(ref wcfMessage, null, context);
        }
Esempio n. 10
0
        public void BeforeSendReply_HttpMessageInspector_Null_Message_Throws()
        {
            HttpMessageInspector inspector = new SHttpMessageInspector();

            ExceptionAssert.ThrowsArgumentNull("response", () => inspector.BeforeSendReply(null, "correlationState"));
        }