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 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 FetchReadmeContent_ResponseIsNotSuccessful() { // Arrange string errorMessage = "Invalid test request"; MockRestClient(null, HttpStatusCode.BadRequest, errorMessage); DataSourceAdaptee = new GithubDataSourceAdaptee(ConfigurationMock, ClientFactoryMock.Object, Mapper); // Act Func <Task> act = () => DataSourceAdaptee.FetchReadmeContent(It.IsAny <Uri>()); // Assert act.Should().ThrowExactly <ExternalException>().WithMessage(errorMessage); }