示例#1
0
        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>();
        }
示例#2
0
        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>();
        }