public async Task Then_The_Endpoint_Is_Called_With_Authentication_Header_And_Data_Returned(
            List <string> testObject,
            GetTestRequest getTestRequest,
            FindEpaoApi config)
        {
            //Arrange
            config.BaseUrl = "http://valid-url/";
            var configMock = new Mock <IOptions <FindEpaoApi> >();

            configMock.Setup(x => x.Value).Returns(config);

            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, configMock.Object);

            //Act
            var actual = await apiClient.Get <List <string> >(getTestRequest);

            //Assert
            actual.Should().BeEquivalentTo(testObject);
        }
Esempio n. 2
0
 public ApiClient(
     HttpClient httpClient,
     IOptions <FindEpaoApi> options)
 {
     _httpClient             = httpClient;
     _config                 = options.Value;
     _httpClient.BaseAddress = new Uri(_config.BaseUrl);
 }
        public void And_Not_Successful_And_Is_404_Then_NotFoundException_Is_Thrown(
            GetTestRequest getTestRequest,
            FindEpaoApi config)
        {
            //Arrange
            config.BaseUrl = "http://valid-url/";
            var configMock = new Mock <IOptions <FindEpaoApi> >();

            configMock.Setup(x => x.Value).Returns(config);
            var response = new HttpResponseMessage
            {
                Content    = new StringContent(""),
                StatusCode = HttpStatusCode.NotFound
            };

            var httpMessageHandler = MessageHandler.SetupMessageHandlerMock(response, $"{config.BaseUrl}{getTestRequest.GetUrl}", config.Key);
            var client             = new HttpClient(httpMessageHandler.Object);
            var apiClient          = new ApiClient(client, configMock.Object);

            //Act Assert
            Assert.ThrowsAsync <NotFoundException <List <string> > >(() => apiClient.Get <List <string> >(getTestRequest));
        }
        public async Task Then_The_Endpoint_Is_Called_And_The_Status_is_Returned(
            FindEpaoApi config)
        {
            //Arrange
            config.PingUrl = "https://test.local/";
            config.BaseUrl = "http://valid-url/";
            var configMock = new Mock <IOptions <FindEpaoApi> >();

            configMock.Setup(x => x.Value).Returns(config);
            var response = new HttpResponseMessage
            {
                Content    = new StringContent(""),
                StatusCode = HttpStatusCode.Accepted
            };
            var httpMessageHandler = MessageHandler.SetupMessageHandlerMock(response, $"{config.PingUrl}ping", config.Key);
            var client             = new HttpClient(httpMessageHandler.Object);
            var apiClient          = new ApiClient(client, configMock.Object);
            //Act
            var actual = await apiClient.Ping();

            //Assert
            actual.Should().Be((int)HttpStatusCode.Accepted);
        }