public async Task Then_The_Endpoint_Is_Called_With_Authentication_Header_And_Data_Returned() { //Arrange var key = "123-abc-567"; var getTestRequest = new GetTestRequest(); var testObject = new List <string>(); var config = new ManageApprenticeshipsOuterApiConfiguration { BaseUrl = "http://valid-url/", Key = key }; var response = new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(testObject)), StatusCode = HttpStatusCode.Accepted }; var httpMessageHandler = MessageHandler.SetupMessageHandlerMock(response, $"{config.BaseUrl}{getTestRequest.GetUrl}", config.Key); var client = new HttpClient(httpMessageHandler.Object); var apiClient = new ApiClient(client, config); //Act var actual = await apiClient.Get <List <string> >(getTestRequest); //Assert actual.Should().BeEquivalentTo(testObject); }
public ApiClient( HttpClient httpClient, ManageApprenticeshipsOuterApiConfiguration options) { _httpClient = httpClient; _config = options; _httpClient.BaseAddress = new Uri(_config.BaseUrl); }
public void Then_If_It_Is_Not_Successful_An_Exception_Is_Thrown() { //Arrange var key = "123-abc-567"; var getTestRequest = new GetTestRequest(); var config = new ManageApprenticeshipsOuterApiConfiguration { BaseUrl = "http://valid-url/", Key = key }; var response = new HttpResponseMessage { Content = new StringContent(""), StatusCode = HttpStatusCode.BadRequest }; var httpMessageHandler = MessageHandler.SetupMessageHandlerMock(response, $"{config.BaseUrl}{getTestRequest.GetUrl}", config.Key); var client = new HttpClient(httpMessageHandler.Object); var apiClient = new ApiClient(client, config); //Act Assert Assert.ThrowsAsync <HttpRequestException>(() => apiClient.Get <List <string> >(getTestRequest)); }