public static HttpClient SetupHttpClient(FakeHttpMessageHandler fakeHttpMessageHandler, Uri baseUri = null) { return new HttpClient(fakeHttpMessageHandler) { BaseAddress = baseUri ?? new Uri("http://localhost/WebApi/") }; }
public async Task PutItemAsyncReturnsHttpResponseExceptionTest() { var responseMessage = HttpClientHelper.SetupHttpResponseMessage(HttpStatusCode.NotFound, new JsonContent(new Object())); var fakeMessageHandler = new FakeHttpMessageHandler(responseMessage); var httpClient = HttpClientHelper.SetupHttpClient(fakeMessageHandler); var sut = new RestClient(httpClient); await sut.PutItem("PutItemAsync", new TestResponseClass()); }
public async Task GetItemAsyncReturnsHttpResponseExceptionTest() { var responseMessage = HttpClientHelper.SetupHttpResponseMessage(HttpStatusCode.NotFound, new StringContent(string.Empty)); var fakeMessageHandler = new FakeHttpMessageHandler(responseMessage); var httpClient = HttpClientHelper.SetupHttpClient(fakeMessageHandler); var sut = new RestClient(httpClient); await sut.GetItemAsync<object>("GetItemAsync"); }
public async Task GetAsyncReturnsHttpResponseExceptionTest() { var responseMessage = HttpClientHelper.SetupHttpResponseMessage(HttpStatusCode.NotFound, new JsonContent(new List<TestResponseClass>())); var fakeMessageHandler = new FakeHttpMessageHandler(responseMessage); var httpClient = HttpClientHelper.SetupHttpClient(fakeMessageHandler); var sut = new RestClient(httpClient); await sut.GetAsync<object>("GetAsync"); }
public async Task GetItemAsyncReturnsCorrectPopulatedClassTest() { var responseMessage = HttpClientHelper.SetupHttpResponseMessage(HttpStatusCode.OK, new JsonContent(new TestResponseClass { ResponseContent = "content" })); var fakeMessageHandler = new FakeHttpMessageHandler(responseMessage); var httpClient = HttpClientHelper.SetupHttpClient(fakeMessageHandler); var sut = new RestClient(httpClient); var result = await sut.GetItemAsync<TestResponseClass>("GetItemAsync"); Assert.AreEqual("content", result.ResponseContent); }
public async Task GetItemAsyncReturnsCorrectClassTypeTest() { var responseMessage = HttpClientHelper.SetupHttpResponseMessage(HttpStatusCode.OK, new JsonContent(new object())); var fakeMessageHandler = new FakeHttpMessageHandler(responseMessage); var httpClient = HttpClientHelper.SetupHttpClient(fakeMessageHandler); var sut = new RestClient(httpClient); var result = await sut.GetItemAsync<TestResponseClass>("GetItemAsync"); Assert.AreEqual(typeof(TestResponseClass), result.GetType()); }
public async Task PostItemAsyncReturnsCorrectResponseTest() { var responseMessage = HttpClientHelper.SetupHttpResponseMessage(HttpStatusCode.OK, new JsonContent("Test response")); var fakeMessageHandler = new FakeHttpMessageHandler(responseMessage); var httpClient = HttpClientHelper.SetupHttpClient(fakeMessageHandler, new Uri("http://localhost/WebApi/")); var sut = new RestClient(httpClient); var result = await sut.PostItemAsync<TestResponseClass, string>("PostItemAsync", new TestResponseClass()); Assert.AreEqual("Test response", result); }
public async Task RestClientImplementsJson() { var responseMessage = HttpClientHelper.SetupHttpResponseMessage(HttpStatusCode.OK, new JsonContent(new object())); var fakeMessageHandler = new FakeHttpMessageHandler(responseMessage); var httpClient = HttpClientHelper.SetupHttpClient(fakeMessageHandler); var sut = new RestClient(httpClient); await sut.GetItemAsync<TestResponseClass>("GetAsync"); Assert.IsTrue(fakeMessageHandler.Request.Headers.Accept.Contains(new MediaTypeWithQualityHeaderValue("application/json"))); }
public async Task RestClientCallsCorrectRouteTest() { var responseMessage = HttpClientHelper.SetupHttpResponseMessage(HttpStatusCode.OK, new JsonContent(new object())); var fakeMessageHandler = new FakeHttpMessageHandler(responseMessage); var httpClient = HttpClientHelper.SetupHttpClient(fakeMessageHandler, new Uri("http://localhost/WebApi/")); var sut = new RestClient(httpClient); await sut.PutItem("PutItemAsync", new TestResponseClass()); Assert.AreEqual(fakeMessageHandler.Request.RequestUri, "http://localhost/WebApi/PutItemAsync"); }
public async Task GetAsyncReturnsCorrectPopulatedClassTest() { var testResponseClassList = new List<TestResponseClass> { new TestResponseClass {ResponseContent = "content1"}, new TestResponseClass {ResponseContent = "content2"}, new TestResponseClass {ResponseContent = "content3"} }; var responseMessage = HttpClientHelper.SetupHttpResponseMessage(HttpStatusCode.OK, new JsonContent(testResponseClassList)); var fakeMessageHandler = new FakeHttpMessageHandler(responseMessage); var httpClient = HttpClientHelper.SetupHttpClient(fakeMessageHandler); var sut = new RestClient(httpClient); var result = await sut.GetAsync<TestResponseClass>("GetAsync"); var resultList = result.ToList(); Assert.AreEqual(testResponseClassList[0].ResponseContent, resultList[0].ResponseContent); Assert.AreEqual(testResponseClassList[1].ResponseContent, resultList[1].ResponseContent); Assert.AreEqual(testResponseClassList[2].ResponseContent, resultList[2].ResponseContent); }