public void WrapsMessageStreamInMultipartFormDataContentStream() { var bodyPart = new Mock <IBaseMessagePart>(); bodyPart.Setup(p => p.GetOriginalDataStream()).Returns(new StringStream("content")); bodyPart.SetupProperty(p => p.Data); MessageMock.Setup(m => m.BodyPart).Returns(bodyPart.Object); var sut = new MultipartFormDataContentEncoder(); sut.Execute(PipelineContextMock.Object, MessageMock.Object); Assert.That(MessageMock.Object.BodyPart.Data, Is.InstanceOf <MultipartFormDataContentStream>()); }
public void ContentIsMultipart() { using (var dataStream = ResourceManager.Load("Data.BatchContent.xml")) { MessageMock.Object.BodyPart.Data = dataStream; var sut = new MultipartFormDataContentEncoder(); sut.Execute(PipelineContextMock.Object, MessageMock.Object); Assert.That(MessageMock.Object.BodyPart.ContentType, Does.Match("multipart/form-data; boundary=\"[a-f\\d]{8}-[a-f\\d]{4}-[a-f\\d]{4}-[a-f\\d]{4}-[a-f\\d]{12}\"")); using (var reader = new StreamReader(MessageMock.Object.BodyPart.Data)) { var content = reader.ReadToEnd(); Assert.That(content, Does.Match("^(--[a-f\\d]{8}-[a-f\\d]{4}-[a-f\\d]{4}-[a-f\\d]{4}-[a-f\\d]{12})\r\nContent-Disposition: form-data\r\n[\\w\\W]+\r\n\\1--\r\n$")); } } }