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);
        }
コード例 #2
0
 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));
        }