本文整理汇总了C#中MockContent类的典型用法代码示例。如果您正苦于以下问题:C# MockContent类的具体用法?C# MockContent怎么用?C# MockContent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MockContent类属于命名空间,在下文中一共展示了MockContent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CopyToAsync_ThrowCustomExceptionInOverriddenMethod_ThrowsMockException
public async Task CopyToAsync_ThrowCustomExceptionInOverriddenMethod_ThrowsMockException()
{
var content = new MockContent(new MockException(), MockOptions.ThrowInSerializeMethods);
var m = new MemoryStream();
await Assert.ThrowsAsync<MockException>(() => content.CopyToAsync(m));
}
示例2: CopyToAsync_ThrowCustomExceptionInOverriddenAsyncMethod_ExceptionBubblesUp
public void CopyToAsync_ThrowCustomExceptionInOverriddenAsyncMethod_ExceptionBubblesUp()
{
var content = new MockContent(new MockException(), MockOptions.ThrowInAsyncSerializeMethods);
var m = new MemoryStream();
Assert.Throws<MockException>(() => { Task t = content.CopyToAsync(m); });
}
示例3: CopyToAsync_ThrowIOExceptionInOverriddenMethod_ThrowsWrappedHttpRequestException
public async Task CopyToAsync_ThrowIOExceptionInOverriddenMethod_ThrowsWrappedHttpRequestException()
{
var content = new MockContent(new IOException(), MockOptions.ThrowInSerializeMethods);
Task t = content.CopyToAsync(new MemoryStream());
HttpRequestException ex = await Assert.ThrowsAsync<HttpRequestException>(() => t);
Assert.IsType<IOException>(ex.InnerException);
}
示例4: CopyToAsync_ThrowObjectDisposedExceptionInOverriddenAsyncMethod_ThrowsWrappedHttpRequestException
public async Task CopyToAsync_ThrowObjectDisposedExceptionInOverriddenAsyncMethod_ThrowsWrappedHttpRequestException()
{
var content = new MockContent(new ObjectDisposedException(""), MockOptions.ThrowInAsyncSerializeMethods);
var m = new MemoryStream();
HttpRequestException ex = await Assert.ThrowsAsync<HttpRequestException>(() => content.CopyToAsync(m));
Assert.IsType<ObjectDisposedException>(ex.InnerException);
}
示例5: CopyToAsync_CallWithMockContent_MockContentMethodCalled
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());
}
示例6: Dispose_DisposeObject_ContentGetsDisposedAndSettersWillThrowButGettersStillWork
public void Dispose_DisposeObject_ContentGetsDisposedAndSettersWillThrowButGettersStillWork()
{
var rm = new HttpResponseMessage(HttpStatusCode.OK);
var content = new MockContent();
rm.Content = content;
Assert.False(content.IsDisposed);
rm.Dispose();
rm.Dispose(); // Multiple calls don't throw.
Assert.True(content.IsDisposed);
Assert.Throws<ObjectDisposedException>(() => { rm.StatusCode = HttpStatusCode.BadRequest; });
Assert.Throws<ObjectDisposedException>(() => { rm.ReasonPhrase = "Bad Request"; });
Assert.Throws<ObjectDisposedException>(() => { rm.Version = new Version(1, 0); });
Assert.Throws<ObjectDisposedException>(() => { rm.Content = null; });
// Property getters should still work after disposing.
Assert.Equal(HttpStatusCode.OK, rm.StatusCode);
Assert.Equal("OK", rm.ReasonPhrase);
Assert.Equal(new Version(1, 1), rm.Version);
Assert.Equal(content, rm.Content);
}
示例7: CopyToAsync_UseStreamWriteByteWithBufferSizeSmallerThanContentSize_ThrowsHttpRequestException
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));
}
示例8: CopyToAsync_BufferContentFirst_UseBufferedStreamAsSource
public async Task CopyToAsync_BufferContentFirst_UseBufferedStreamAsSource()
{
var data = new byte[10];
var content = new MockContent(data);
content.LoadIntoBufferAsync().Wait();
Assert.Equal(1, content.SerializeToStreamAsyncCount);
var destination = new MemoryStream();
await content.CopyToAsync(destination);
// Our MockContent should not be called for the CopyTo() operation since the buffered stream should be
// used.
Assert.Equal(1, content.SerializeToStreamAsyncCount);
Assert.Equal(data.Length, destination.Length);
}
示例9: Dispose_DisposeContentThenAccessContentLength_Throw
public void Dispose_DisposeContentThenAccessContentLength_Throw()
{
var content = new MockContent();
// This is not really typical usage of the type, but let's make sure we consider also this case: The user
// keeps a reference to the Headers property before disposing the content. Then after disposing, the user
// accesses the ContentLength property.
var headers = content.Headers;
content.Dispose();
Assert.Throws<ObjectDisposedException>(() => headers.ContentLength.ToString());
}
示例10: LoadIntoBufferAsync_ThrowIOExceptionInOverriddenAsyncMethod_ThrowsHttpRequestException
public async Task LoadIntoBufferAsync_ThrowIOExceptionInOverriddenAsyncMethod_ThrowsHttpRequestException()
{
var content = new MockContent(new IOException(), MockOptions.ThrowInAsyncSerializeMethods);
HttpRequestException ex = await Assert.ThrowsAsync<HttpRequestException>(() => content.LoadIntoBufferAsync());
Assert.IsType<IOException>(ex.InnerException);
}
示例11: Dispose_GetReadStreamThenDispose_ReadStreamGetsDisposed
public async Task Dispose_GetReadStreamThenDispose_ReadStreamGetsDisposed()
{
var content = new MockContent();
MockMemoryStream s = (MockMemoryStream) await content.ReadAsStreamAsync();
Assert.Equal(1, content.CreateContentReadStreamCount);
Assert.Equal(0, s.DisposeCount);
content.Dispose();
Assert.Equal(1, s.DisposeCount);
}
示例12: ReadAsStringAsync_SetNoCharset_DefaultCharsetUsed
public async Task ReadAsStringAsync_SetNoCharset_DefaultCharsetUsed()
{
// Use content with umlaut characters.
string sourceString = "ÄäüÜ"; // c4 e4 fc dc
Encoding defaultEncoding = Encoding.GetEncoding("utf-8");
byte[] contentBytes = defaultEncoding.GetBytes(sourceString);
var content = new MockContent(contentBytes);
// Reading the string should consider the charset of the 'Content-Type' header.
string result = await content.ReadAsStringAsync();
Assert.Equal(sourceString, result);
}
示例13: ReadAsStreamAsync_GetFromBufferedContent_CreateContentReadStreamCalled
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());
}
示例14: MockContent
public async Task LoadIntoBufferAsync_CallOnMockContentWithLessLengthThanContentLengthHeader_BufferedStreamLengthMatchesActualLengthNotContentLengthHeaderValue()
{
byte[] data = Encoding.UTF8.GetBytes("16 bytes of data");
var content = new MockContent(data);
content.Headers.ContentLength = 32; // Set the Content-Length header to a value > actual data length.
Assert.Equal(32, content.Headers.ContentLength);
await content.LoadIntoBufferAsync();
Assert.Equal(1, content.SerializeToStreamAsyncCount);
Assert.NotNull(content.Headers.ContentLength);
Assert.Equal(32, content.Headers.ContentLength);
Stream stream = await content.ReadAsStreamAsync();
Assert.Equal(data.Length, stream.Length);
}
示例15: Dispose_DisposedObjectThenAccessMembers_ThrowsObjectDisposedException
public async Task Dispose_DisposedObjectThenAccessMembers_ThrowsObjectDisposedException()
{
var content = new MockContent();
content.Dispose();
var m = new MemoryStream();
await Assert.ThrowsAsync<ObjectDisposedException>(() => content.CopyToAsync(m));
await Assert.ThrowsAsync<ObjectDisposedException>(() => content.ReadAsByteArrayAsync());
await Assert.ThrowsAsync<ObjectDisposedException>(() => content.ReadAsStringAsync());
await Assert.ThrowsAsync<ObjectDisposedException>(() => content.ReadAsStreamAsync());
await Assert.ThrowsAsync<ObjectDisposedException>(() => content.LoadIntoBufferAsync());
// Note that we don't throw when users access the Headers property. This is useful e.g. to be able to
// read the headers of a content, even though the content is already disposed. Note that the .NET guidelines
// only require members to throw ObjectDisposedExcpetion for members "that cannot be used after the object
// has been disposed of".
_output.WriteLine(content.Headers.ToString());
}