public void Contructor_data_is_populated_from_HttpResponseMessage() { var testHttpRequestMessage = new HttpRequestMessage(HttpMethod.Post, "www.github.com") { Content = new StringContent("request content", Encoding.UTF8, "application/text"), Headers = { { "header1", "value1" }, { "header2", new List <string> { "value2A", "value2B" } } } }; var testHttpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK) { RequestMessage = testHttpRequestMessage, Content = new StringContent("response content", Encoding.UTF8, "application/text"), Headers = { { "header1", "value1" }, { "header2", new List <string> { "value2A", "value2B" } } } }; var httpClientState = new HttpClientState(testHttpResponseMessage); httpClientState.Url.ShouldBe(testHttpRequestMessage.RequestUri); httpClientState.HttpMethod.ShouldBe(testHttpRequestMessage.Method.ToString()); httpClientState.RequestContentLength.ShouldBe(testHttpRequestMessage.Content.Headers.ContentLength); httpClientState.RequestHeaders .EqualsHeaders(testHttpRequestMessage.Headers.Concat(testHttpRequestMessage.Content.Headers).ToList()) .ShouldBeTrue(); httpClientState.HttpStatusCode.ShouldBe((int)testHttpResponseMessage.StatusCode); httpClientState.ResponseContentLength.ShouldBe(testHttpResponseMessage.Content.Headers.ContentLength); httpClientState.ResponseHeaders .EqualsHeaders(testHttpResponseMessage.Headers.Concat(testHttpResponseMessage.Content.Headers).ToList()) .ShouldBeTrue(); }
public async Task ReadResponseBodyAsStringAsync_returns_data_from_HttpResponseMessage() { var respContent = "response content"; var testHttpRequestMessage = new HttpRequestMessage(HttpMethod.Post, "www.github.com"); var testHttpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK) { RequestMessage = testHttpRequestMessage, Content = new StringContent(respContent, Encoding.UTF8, "application/text"), }; var httpClientState = new HttpClientState(testHttpResponseMessage); var stateRespBody = await httpClientState.ReadResponseBodyAsStringAsync(); stateRespBody.ShouldBe(respContent); }
public void Dispose_can_be_called_multiple_times() { var testHttpRequestMessage = new HttpRequestMessage(HttpMethod.Post, "www.github.com") { Content = new StringContent("request content", Encoding.UTF8, "application/text"), }; var testHttpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK) { RequestMessage = testHttpRequestMessage, Content = new StringContent("response content", Encoding.UTF8, "application/text"), }; var httpClientState = new HttpClientState(testHttpResponseMessage); httpClientState.Dispose(); httpClientState.Dispose(); httpClientState.Dispose(); }