public async Task FetchOauthTokens_GoodFlow()
        {
            OauthTokens oauthTokens = new OauthTokens {
                AccessToken = "token"
            };

            MockRestClient(oauthTokens, HttpStatusCode.OK);
            DataSourceAdaptee = new GithubDataSourceAdaptee(ConfigurationMock, ClientFactoryMock.Object, Mapper);

            // Act
            Action      act = () => DataSourceAdaptee.FetchOauthTokens(It.IsAny <string>());
            OauthTokens retrievedOauthTokens = await DataSourceAdaptee.FetchOauthTokens(It.IsAny <string>());

            // Assert
            act.Should().NotThrow();
            retrievedOauthTokens.Should().BeEquivalentTo(oauthTokens);
            retrievedOauthTokens.Should().NotBeNull();
        }
        public void FetchContributorsFromRepository_ResponseIsNotSuccessful()
        {
            // Arrange
            string errorMessage = "Invalid test request";

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

            // Act
            Func <Task> act = () => DataSourceAdaptee.FetchOauthTokens(It.IsAny <string>());

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