public async Task ApiPersonDataSourceTests_BadData() { // Arrange var logger = new Moq.Mock <ILogger <ApiPersonDataSource> >(); var configuration = new Moq.Mock <IConfiguration>(); configuration.SetupGet(c => c["PersonApi"]).Returns(@"https://google.com/").Verifiable(); var memoryCache = new FakeMemoryCache(); var httpClientFactory = ArrangeHttpClient( new HttpClientResponse() { UrlSuffix = "https://google.com/", ResponseFunc = (r) => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(FileHelper.GetAsString(@".\TestData\example_data_bad.json")) }) } ); var sut = new ApiPersonDataSource(logger.Object, configuration.Object, memoryCache, httpClientFactory); // Act Func <Task> act = async() => await sut.Get(); // Assert act.Should().Throw <JsonReaderException>(); }
public async Task ApiPersonDataSourceTests_HttpError() { var logger = new Moq.Mock <ILogger <ApiPersonDataSource> >(); var configuration = new Moq.Mock <IConfiguration>(); configuration.SetupGet(c => c["PersonApi"]).Returns(@"https://google.com/").Verifiable(); var memoryCache = new FakeMemoryCache(); var httpClientFactory = ArrangeHttpClient( new HttpClientResponse() { UrlSuffix = "https://google.com/", ResponseFunc = (r) => Task.FromResult(new HttpResponseMessage(HttpStatusCode.NotFound)) } ); var sut = new ApiPersonDataSource(logger.Object, configuration.Object, memoryCache, httpClientFactory); // Act Func <Task> act = async() => await sut.Get(); // Assert act.Should().Throw <HttpRequestException>(); }