protected override void ConfigureWebHost(IWebHostBuilder builder) { builder .UseEnvironment("BuildTest") .UseDefaultServiceProvider(p => p.ValidateScopes = true) .ConfigureServices((context, services) => { // configure our petstore with a unique host so that we can mock it using different urls than other services we might want to mock services.PostConfigure <PetStoreOptions>(o => { o.Url = "http://petstore"; }); // since we registered with a named client, we can configure it so that we can mock all the requests and responses services.AddHttpClient(PetStoreOptions.HttpClientName).ConfigurePrimaryHttpMessageHandler(() => PetStoreMockHandler); AdditionalServices?.Invoke(context, services); }) .ConfigureAppConfiguration((context, configurationBuilder) => { AdditionalConfiguration?.Invoke(context, configurationBuilder); }) .ConfigureLogging((context, builder) => { builder.ClearProviders(); // values are picked up from appsetting.json builder.AddProvider(_loggerProvider); // log level cannot be modified here since this is triggered after the configuration settings have been established // need to make changes in the AdditionalConfiguration since that happens earlier in the lifecycle AdditionalLogging?.Invoke(context, builder); }); }
private static IConfiguration PrepareTestConfiguration() { var configurationBuilder = new ConfigurationBuilder() .AddJsonFile("testconfig.json", optional: true); AdditionalConfiguration?.Invoke(configurationBuilder); AdditionalConfiguration = null; return(configurationBuilder.Build()); }
public static TestConfiguration Configuration() { if (configuration == null || AdditionalConfiguration != null) { if (configurationBuilder == null) { configurationBuilder = new ConfigurationBuilder() .AddJsonFile("testconfig.json", optional: true); } AdditionalConfiguration?.Invoke(configurationBuilder); AdditionalConfiguration = null; configuration = TestConfiguration.With(configurationBuilder.Build()); generalConfiguration = null; PrepareLicensing(); } return(configuration); }