/// <summary> /// Called to create the input message for the reader test. /// </summary> /// <param name="testConfiguration">The test configuration.</param> /// <returns>The newly created test message to use.</returns> protected override TestMessage CreateInputMessage(ReaderTestConfiguration testConfiguration) { MemoryStream memoryStream = new MemoryStream(this.GetPayload(testConfiguration)); TestStream messageStream = new TestStream(memoryStream); if (testConfiguration.Synchronous) { messageStream.FailAsynchronousCalls = true; } else { messageStream.FailSynchronousCalls = true; } this.testMessage = TestReaderUtils.CreateInputMessageFromStream( messageStream, testConfiguration, /*payloadKind*/ null, this.ContentType, /*urlResolver*/ null); if (this.TestMessageWrapper != null) { this.testMessage = this.TestMessageWrapper(this.testMessage); } return(this.testMessage); }
/// <summary> /// Called to create the input message for the reader test. /// </summary> /// <param name="testConfiguration">The test configuration.</param> /// <returns>The newly created test message to use.</returns> protected override TestMessage CreateInputMessage(ReaderTestConfiguration testConfiguration) { MemoryStream memoryStream = new MemoryStream(); this.WriteInputMessageContent(testConfiguration, new TestStream(memoryStream, ignoreDispose: true)); memoryStream.Seek(0, SeekOrigin.Begin); TestStream messageStream = new TestStream(memoryStream); TestMessage testMessage = TestReaderUtils.CreateInputMessageFromStream( messageStream, testConfiguration, this.PayloadKind, /*customContentTypeHeader*/ null, /*urlResolver*/ null); return(testMessage); }
/// <summary> /// Called to create the input message for the reader test. /// </summary> /// <param name="testConfiguration">The test configuration.</param> /// <returns>The newly created test message to use.</returns> protected override TestMessage CreateInputMessage(ReaderTestConfiguration testConfiguration) { MemoryStream memoryStream = new MemoryStream(this.GetPayload(testConfiguration)); TestStream messageStream = new TestStream(memoryStream); if (testConfiguration.Synchronous) { messageStream.FailAsynchronousCalls = true; } else { messageStream.FailSynchronousCalls = true; } TestMessage testMessage = TestReaderUtils.CreateInputMessageFromStream( messageStream, testConfiguration, ODataPayloadKind.MetadataDocument, this.ContentType, /*urlResolver*/ null); return(testMessage); }
/// <summary> /// Creates the input message for the test descriptor /// </summary> /// <param name="testConfiguration">the test configuration to use</param> /// <param name="readerTestDescriptor">The test descriptor</param> /// <param name="settings">The test descriptor settings</param> /// <param name="applyPayloadTransformations">Whether or not to apply payload transformations</param> /// <returns>The message for the test</returns> public static TestMessage CreateInputMessage(ReaderTestConfiguration testConfiguration, PayloadReaderTestDescriptor readerTestDescriptor, PayloadReaderTestDescriptor.Settings settings, bool?applyPayloadTransformations) { TestMessage testMessage; bool originalApplyTransformValue = false; var odataTransformFactory = settings.PayloadTransformFactory as ODataLibPayloadTransformFactory; try { if (applyPayloadTransformations.HasValue && odataTransformFactory != null) { originalApplyTransformValue = odataTransformFactory.ApplyTransform; odataTransformFactory.ApplyTransform = applyPayloadTransformations.Value; } if (readerTestDescriptor.TestDescriptorNormalizers != null) { foreach (var testDescriptorNormalizer in readerTestDescriptor.TestDescriptorNormalizers) { var normalizerAction = testDescriptorNormalizer(testConfiguration); if (normalizerAction != null) { normalizerAction(readerTestDescriptor); } } } MemoryStream memoryStream = new MemoryStream(GetPayload(testConfiguration, readerTestDescriptor.PayloadNormalizers, settings, readerTestDescriptor.PayloadElement)); TestStream messageStream = new TestStream(memoryStream); if (testConfiguration.Synchronous) { messageStream.FailAsynchronousCalls = true; } else { messageStream.FailSynchronousCalls = true; } testMessage = TestReaderUtils.CreateInputMessageFromStream( messageStream, testConfiguration, readerTestDescriptor.PayloadElement.GetPayloadKindFromPayloadElement(), readerTestDescriptor.PayloadElement.GetCustomContentTypeHeader(), readerTestDescriptor.UrlResolver); if (readerTestDescriptor.TestMessageWrapper != null) { testMessage = readerTestDescriptor.TestMessageWrapper(testMessage); } return(testMessage); } finally { if (applyPayloadTransformations.HasValue && odataTransformFactory != null) { odataTransformFactory.ApplyTransform = originalApplyTransformValue; } } }