public async Task FetchReadmeContent_ContentNotFound() { // Arrange MockRestClient(null, HttpStatusCode.NotFound); DataSourceAdaptee = new GithubDataSourceAdaptee(ConfigurationMock, ClientFactoryMock.Object, Mapper); // Act Func <Task> act = () => DataSourceAdaptee.FetchReadmeContent(It.IsAny <Uri>()); string retrievedReadmeContent = await DataSourceAdaptee.FetchReadmeContent(It.IsAny <Uri>()); // Assert act.Should().NotThrow(); retrievedReadmeContent.Should().BeNullOrEmpty(); }
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); }
public async Task FetchAllGithubProjects_GoodFlow( [GithubDataSourceResourceResultDataSource(30)] IEnumerable <GithubDataSourceResourceResult> resourceResults) { // Arrange MockRestClient(resourceResults, HttpStatusCode.OK); DataSourceAdaptee = new GithubDataSourceAdaptee(ConfigurationMock, ClientFactoryMock.Object, Mapper); // Act Action act = () => DataSourceAdaptee.FetchAllGithubProjects(It.IsAny <string>()); IEnumerable <GithubDataSourceResourceResult> retrievedResourceResults = await DataSourceAdaptee.FetchAllGithubProjects(It.IsAny <string>()); // Assert act.Should().NotThrow(); retrievedResourceResults.Should().BeEquivalentTo(resourceResults); }
public async Task FetchReadme_GoodFlow( [GithubDataSourceReadmeResourceResultDataSource] GithubDataSourceReadmeResourceResult resourceResult) { // Arrange MockRestClient(resourceResult, HttpStatusCode.OK); DataSourceAdaptee = new GithubDataSourceAdaptee(ConfigurationMock, ClientFactoryMock.Object, Mapper); // Act Action act = () => DataSourceAdaptee.FetchReadme(It.IsAny <string>(), It.IsAny <string>()); string retrievedResourceResult = await DataSourceAdaptee.FetchReadme(It.IsAny <string>(), It.IsAny <string>()); // Assert act.Should().NotThrow(); retrievedResourceResult.Should().BeEquivalentTo(JsonConvert.SerializeObject(resourceResult)); }
public async Task FetchReadmeContent_GoodFlow() { // Arrange string readmeContent = new string("This is the content from a test readme file"); MockRestClient(readmeContent, HttpStatusCode.OK); DataSourceAdaptee = new GithubDataSourceAdaptee(ConfigurationMock, ClientFactoryMock.Object, Mapper); // Act Action act = () => DataSourceAdaptee.FetchReadmeContent(It.IsAny <Uri>()); string retrievedResourceResult = await DataSourceAdaptee.FetchReadmeContent(It.IsAny <Uri>()); // Assert act.Should().NotThrow(); retrievedResourceResult.Substring(1, retrievedResourceResult.Length - 2).Should().BeEquivalentTo(readmeContent); }
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); }
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 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(); }