public async Task GetCurrencyConversionRatesAsync_WithInternalServerError_ThrowsException() { var configurationProvider = GetConfigurationProvider(); var exchangeRateRepo = new ExchangeRateServiceAdapter(configurationProvider.Object, new JsonDotNetSerializer(new JsonSerializer()), new RecyclableStreamPool(), CreateInternalServerErrorHttpResponseConnector().Object); await Assert.ThrowsAsync <CommunicationException>(async() => await exchangeRateRepo.GetCurrencyConversionRatesAsync()); }
public async Task GetCurrencyConversionRatesAsync_WithNoHttpDefaultsSet_ShouldReturnResults() { var configurationProvider = GetConfigurationProvider(); var exchangeRateRepo = new ExchangeRateServiceAdapter(configurationProvider.Object, new JsonDotNetSerializer(new JsonSerializer()), new RecyclableStreamPool(), GetConnectorWithSuccessfulResponseWithSettings().Object); var exchangeRates = await exchangeRateRepo.GetCurrencyConversionRatesAsync(); Assert.NotNull(exchangeRates); Assert.True(exchangeRates.Keys.Count > 0); }
public async Task GetCurrencyConversionRatesAsync_WithHttpDefaultsSet_ShouldReturnResults() { var configurationProvider = GetConfigurationProvider(); SetHttpDefaults(); var exchangeRateRepo = new ExchangeRateServiceAdapter(configurationProvider.Object); var exchangeRates = await exchangeRateRepo.GetCurrencyConversionRatesAsync(); Assert.NotNull(exchangeRates); Assert.True(exchangeRates.Keys.Count > 0); }
public async Task GetCurrencyConversionRatesAsync_WithMissingUrlInConfiguration_ThrowsException() { var configurationProvider = new Mock <IConfigurationProvider>(); configurationProvider.Setup(x => x.GetGlobalConfigurationAsync <ServiceSettings>(Constants.ConfigurationSections.ExternalServiceConfigurations, Constants.TenantSettings.ExchangeRateService)) .ReturnsAsync(new ServiceSettings { Name = "", Endpoint = new Endpoint() }); SetHttpDefaults(); var exchangeRateRepo = new ExchangeRateServiceAdapter(configurationProvider.Object); await Assert.ThrowsAsync <ExchangeRateMissingConfiguration>(async() => await exchangeRateRepo.GetCurrencyConversionRatesAsync()); }