protected override void ConfigureWebHost(IWebHostBuilder builder) { builder .UseSolutionRelativeContentRoot("AsposePdfExporterJiraCloud") .ConfigureAppConfiguration((context, conf) => { conf.AddInMemoryCollection(ConfigMock.ToList()); }) .ConfigureServices(services => { // Replace IAppGithubExporterCli with mocked version services.Replace(ServiceDescriptor.Scoped <IAppJiraCloudExporterCli>(p => AppFixture.ClientServiceMock)); // Replace ILoggingService with mocked version services.Replace(ServiceDescriptor.Scoped(p => LoggingMock.Object)); // Replace IHttpClientFactory with mocked version services.Replace(ServiceDescriptor.Scoped(p => HttpFactoryMock.Object)); // Replace DatabaseContext with mocked version services.Remove(services.SingleOrDefault(d => d.ServiceType == typeof(DbContextOptions <DbContext.DatabaseContext>))); services.Remove(services.SingleOrDefault(d => d.ServiceType == typeof(DbContext.DatabaseContext))); services.AddDbContext <DbContext.DatabaseContext>(options => AppEnvironmentFixture.DbContextOptionsBuilder(options, AppFixture.DbName) .ConfigureWarnings(o => o.Ignore()) ); }); }
public IntegrationTestsWebApplicationFactory() { AppFixture = new AppEnvironmentFixture(); // setup ILoggingService mocks LoggingMock = new Mock <ILoggingService>(); LoggingMock.Setup(e => e.ReportAccessLog(It.IsAny <ElasticsearchAccessLogDocument>())).Returns(Task.CompletedTask); LoggingMock.Setup(e => e.ReportErrorLog(It.IsAny <ElasticsearchErrorDocument>())).Returns(Task.CompletedTask); LoggingMock.Setup(e => e.ReportSetupLog(It.IsAny <ElasticsearchSetupDocument>())).Returns(Task.CompletedTask); ConfigMock = new Dictionary <string, string>() { { "Settings:StorageRoot", "mockroot" }, { "Settings:BaseAppUrl", "https://mockurl.com" }, }; HttpFactoryMock = new Mock <IHttpClientFactory>(); (HttpMessageHandlerMock, HttpClientMock) = RestApiClientTests.GetJiraHttpClientMock( "responses" , new Uri("https://mockjiracloud.com")); HttpFactoryMock.Setup(e => e.CreateClient("jira_client")).Returns(HttpClientMock); }