コード例 #1
0
        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>());
        }
コード例 #2
0
        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$"));
                }
            }
        }