/// <summary> /// Helper method to create a test message from its content. /// </summary> /// <param name="messageContent">Stream with the content of the message.</param> /// <param name="testConfiguration">The test configuration.</param> /// <param name="payloadKind">The payload kind to use to compute and set the content type header; or null if no content type header should be set.</param> /// <param name="customContentTypeHeader">A custom content type header to be used in the message.</param> /// <param name="urlResolver">Url resolver to add to the test message created.</param> /// <returns>Newly created test message.</returns> protected TestMessage CreateInputMessageFromStream( TestStream messageContent, WriterTestConfiguration testConfiguration, ODataPayloadKind?payloadKind, string customContentTypeHeader, IODataUrlResolver urlResolver) { TestMessage message; if (testConfiguration.IsRequest) { if (urlResolver != null) { message = new TestRequestMessageWithUrlResolver(messageContent, urlResolver, testConfiguration.Synchronous ? TestMessageFlags.NoAsynchronous : TestMessageFlags.NoSynchronous); } else { message = new TestRequestMessage(messageContent, testConfiguration.Synchronous ? TestMessageFlags.NoAsynchronous : TestMessageFlags.NoSynchronous); } } else { if (urlResolver != null) { message = new TestResponseMessageWithUrlResolver(messageContent, urlResolver, testConfiguration.Synchronous ? TestMessageFlags.NoAsynchronous : TestMessageFlags.NoSynchronous); } else { message = new TestResponseMessage(messageContent, testConfiguration.Synchronous ? TestMessageFlags.NoAsynchronous : TestMessageFlags.NoSynchronous); } } return(message); }
/// <summary> /// Helper method to create a test message from its content. /// </summary> /// <param name="messageContent">Stream with the content of the message.</param> /// <param name="testConfiguration">The test configuration.</param> /// <param name="payloadKind">The payload kind to use to compute and set the content type header; or null if no content type header should be set.</param> /// <param name="customContentTypeHeader">A custom content type header to be used in the message.</param> /// <param name="urlResolver">Url resolver to add to the test message created.</param> /// <returns>Newly created test message.</returns> public static TestMessage CreateInputMessageFromStream( TestStream messageContent, ReaderTestConfiguration testConfiguration, ODataPayloadKind?payloadKind, string customContentTypeHeader, IODataUrlResolver urlResolver) { TestMessage message; if (testConfiguration.IsRequest) { if (urlResolver != null) { message = new TestRequestMessageWithUrlResolver(messageContent, urlResolver, testConfiguration.Synchronous ? TestMessageFlags.NoAsynchronous : TestMessageFlags.NoSynchronous); } else { message = new TestRequestMessage(messageContent, testConfiguration.Synchronous ? TestMessageFlags.NoAsynchronous : TestMessageFlags.NoSynchronous); } } else { if (urlResolver != null) { message = new TestResponseMessageWithUrlResolver(messageContent, urlResolver, testConfiguration.Synchronous ? TestMessageFlags.NoAsynchronous : TestMessageFlags.NoSynchronous); } else { message = new TestResponseMessage(messageContent, testConfiguration.Synchronous ? TestMessageFlags.NoAsynchronous : TestMessageFlags.NoSynchronous); } } // set the OData-Version header message.SetHeader(ODataConstants.ODataVersionHeader, testConfiguration.Version.ToText()); if (customContentTypeHeader != null) { message.SetHeader(ODataConstants.ContentTypeHeader, customContentTypeHeader); } else if (payloadKind.HasValue) { message.SetContentType(testConfiguration.Format, payloadKind.Value); } return(message); }