public void TryComputeLength_RetrieveContentLength_ComputeLengthShouldBeCalled() { var content = new MockContent(MockOptions.CanCalculateLength); Assert.Equal(content.GetMockData().Length, content.Headers.ContentLength); Assert.Equal(1, content.TryComputeLengthCount); }
public async Task CopyToAsync_UseStreamWriteByteWithBufferSizeSmallerThanContentSize_ThrowsHttpRequestException() { // MockContent uses stream.WriteByte() rather than stream.Write(): Verify that the max. buffer size // is also checked when using WriteByte(). var content = new MockContent(MockOptions.UseWriteByteInCopyTo); Task t = content.LoadIntoBufferAsync(content.GetMockData().Length - 1); await Assert.ThrowsAsync <HttpRequestException>(() => t); }
public async Task CopyToAsync_CallWithMockContent_MockContentMethodCalled() { var content = new MockContent(MockOptions.CanCalculateLength); var m = new MemoryStream(); await content.CopyToAsync(m); Assert.Equal(1, content.SerializeToStreamAsyncCount); Assert.Equal(content.GetMockData(), m.ToArray()); }
public async Task TryComputeLength_RetrieveContentLengthFromBufferedContent_ComputeLengthIsNotCalled() { var content = new MockContent(); await content.LoadIntoBufferAsync(); Assert.Equal(content.GetMockData().Length, content.Headers.ContentLength); // Called once to determine the size of the buffer. Assert.Equal(1, content.TryComputeLengthCount); }
public async Task ReadAsStreamAsync_GetFromBufferedContent_CreateContentReadStreamCalled() { var content = new MockContent(MockOptions.CanCalculateLength); await content.LoadIntoBufferAsync(); Stream stream = await content.ReadAsStreamAsync(); Assert.Equal(0, content.CreateContentReadStreamCount); Assert.Equal(content.GetMockData().Length, stream.Length); Stream stream2 = await content.ReadAsStreamAsync(); Assert.Same(stream, stream2); Assert.Equal(0, stream.Position); Assert.Equal((byte)'d', stream.ReadByte()); }
public async Task ReadAsStreamAsync_GetFromUnbufferedContent_CreateContentReadStreamCalledOnce() { var content = new MockContent(MockOptions.CanCalculateLength); // Call multiple times: CreateContentReadStreamAsync() should be called only once. Stream stream = await content.ReadAsStreamAsync(); stream = await content.ReadAsStreamAsync(); stream = await content.ReadAsStreamAsync(); Assert.Equal(1, content.CreateContentReadStreamCount); Assert.Equal(content.GetMockData().Length, stream.Length); Stream stream2 = await content.ReadAsStreamAsync(); Assert.Same(stream, stream2); }
public async Task LoadIntoBufferAsync_BufferSizeSmallerThanContentSizeWithNullContentLength_ThrowsHttpRequestException() { var content = new MockContent(); await Assert.ThrowsAsync <HttpRequestException>(() => content.LoadIntoBufferAsync(content.GetMockData().Length - 1)); }
public async Task CopyToAsync_UseStreamWriteByteWithBufferSizeSmallerThanContentSize_ThrowsHttpRequestException() { // MockContent uses stream.WriteByte() rather than stream.Write(): Verify that the max. buffer size // is also checked when using WriteByte(). var content = new MockContent(MockOptions.UseWriteByteInCopyTo); await Assert.ThrowsAsync<HttpRequestException>(() => content.LoadIntoBufferAsync(content.GetMockData().Length - 1)); }
public async Task LoadIntoBufferAsync_BufferSizeSmallerThanContentSizeWithNullContentLength_ThrowsHttpRequestException() { var content = new MockContent(); await Assert.ThrowsAsync<HttpRequestException>(() => content.LoadIntoBufferAsync(content.GetMockData().Length - 1)); }
public async Task LoadIntoBufferAsync_BufferSizeSmallerThanContentSizeWithCalculatedContentLength_ThrowsHttpRequestException() { var content = new MockContent(MockOptions.CanCalculateLength); Task t = content.LoadIntoBufferAsync(content.GetMockData().Length - 1); await Assert.ThrowsAsync <HttpRequestException>(() => t); }
public async Task LoadIntoBufferAsync_BufferSizeSmallerThanContentSizeWithCalculatedContentLength_ThrowsHttpRequestException() { var content = new MockContent(MockOptions.CanCalculateLength); Task t = content.LoadIntoBufferAsync(content.GetMockData().Length - 1); await Assert.ThrowsAsync<HttpRequestException>(() => t); }