public async Task FetchPublicRepository_GoodFlow(
            [GithubDataSourceResourceResultDataSource] GithubDataSourceResourceResult resourceResult)
        {
            // Arrange
            MockRestClient(resourceResult, HttpStatusCode.OK);
            DataSourceAdaptee = new GithubDataSourceAdaptee(ConfigurationMock, ClientFactoryMock.Object, Mapper);

            // Act
            Uri    testUri = new Uri("https://google.nl/test");
            Action act     = () => DataSourceAdaptee.FetchPublicRepository(testUri);
            GithubDataSourceResourceResult retrievedResourceResult = await DataSourceAdaptee.FetchPublicRepository(testUri);

            // Assert
            act.Should().NotThrow();
            retrievedResourceResult.Should().BeEquivalentTo(resourceResult);
        }
        public void FetchPublicRepository_ResponseIsNotSuccessful()
        {
            // Arrange
            string errorMessage = "Invalid test request";

            MockRestClient(null, HttpStatusCode.BadRequest, errorMessage);
            DataSourceAdaptee = new GithubDataSourceAdaptee(ConfigurationMock, ClientFactoryMock.Object, Mapper);

            // Act
            Uri         testUri = new Uri("https://google.nl/test");
            Func <Task> act     = () => DataSourceAdaptee.FetchPublicRepository(testUri);

            // Assert
            act.Should().ThrowExactly <ExternalException>()
            .WithMessage(errorMessage);
        }