public async Task HttpWebResponse_Close_Success()
{
await LoopbackServer.CreateServerAsync(async (server, url) =>
{
HttpWebRequest request = WebRequest.CreateHttp(url);
request.Method = HttpMethod.Get.Method;
Task<WebResponse> getResponse = request.GetResponseAsync();
DateTimeOffset utcNow = DateTimeOffset.UtcNow;
await LoopbackServer.ReadRequestAndSendResponseAsync(server,
$"HTTP/1.1 200 OK\r\n" +
$"Date: {utcNow:R}\r\n" +
"Content-Type: application/json;charset=UTF-8\r\n" +
"Content-Length: 5\r\n" +
"\r\n" +
"12345");
WebResponse response = await getResponse;
HttpWebResponse httpResponse = (HttpWebResponse)response;
httpResponse.Close();
Assert.Throws<ObjectDisposedException>(() =>
{
httpResponse.GetResponseStream();
});
});
}