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); } }
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); } } }