public async Task FetchReadme_ReadmeNotFound() { // Arrange MockRestClient(null, HttpStatusCode.NotFound); DataSourceAdaptee = new GithubDataSourceAdaptee(ConfigurationMock, ClientFactoryMock.Object, Mapper); // Act Func <Task> act = () => DataSourceAdaptee.FetchReadme(It.IsAny <string>(), It.IsAny <string>()); string retrievedReadme = await DataSourceAdaptee.FetchReadme(It.IsAny <string>(), It.IsAny <string>()); // Assert act.Should().NotThrow(); retrievedReadme.Should().BeNullOrEmpty(); }
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 void FetchReadme_ResponseIsNotSuccessful() { // Arrange string errorMessage = "Invalid test request"; MockRestClient(null, HttpStatusCode.BadRequest, errorMessage); DataSourceAdaptee = new GithubDataSourceAdaptee(ConfigurationMock, ClientFactoryMock.Object, Mapper); // Act Func <Task> act = () => DataSourceAdaptee.FetchReadme(It.IsAny <string>(), It.IsAny <string>()); // Assert act.Should().ThrowExactly <ExternalException>().WithMessage(errorMessage); }