Exemple #1
0
        public void RequestBodyBytes_Does_Not_Reset_Stream_If_Not_Seekable()
        {
            var env = UseEnvironmentWithRequiredFields();

            using (var stream = new ForwardOnlyMemoryStream(new byte[] { 1, 2, 3 })) {
                env.Environment[EnvironmentKey.RequestBody] = stream;
                stream.MemoryStream.Position = stream.MemoryStream.Length;

                var result = _Context.RequestBodyBytes();

                Assertions.AreEqual(new byte[0], result);
            }
        }
Exemple #2
0
        public void RequestBodyBytes_Returns_Content_Of_Stream(byte[] streamContent, int startPosition, byte[] expectedContent, int expectedPosition)
        {
            var env = UseEnvironmentWithRequiredFields();

            using (var stream = new ForwardOnlyMemoryStream()) {
                if (streamContent != null)
                {
                    stream.MemoryStream.Write(streamContent, 0, streamContent.Length);
                    stream.MemoryStream.Position = startPosition;
                    env.Environment[EnvironmentKey.RequestBody] = stream;
                }

                var actualContent  = _Context.RequestBodyBytes();
                var actualPosition = stream.Position;

                Assertions.AreEqual(expectedContent, actualContent);
                if (expectedPosition != -1)
                {
                    Assert.AreEqual(expectedPosition, actualPosition);
                }
            }
        }