protected OnlineTestBase(ITestOutputHelper outputHelper) { ConfigurationBuilder configBuilder = new ConfigurationBuilder(); configBuilder.AddJsonFile("Config.json", false); //Set the configuration from the config file IConfigurationRoot configRoot = configBuilder.Build(); ServiceCollection collection = new ServiceCollection(); ICoreBuilder coreBuilder = collection.AddSimpleS3Core(config => { //Set the configuration from the config file configRoot.Bind(config); }); string profileName = configRoot["ProfileName"]; coreBuilder.UseProfileManager() .BindConfigToProfile(profileName) .UseDataProtection(); IHttpClientBuilder httpBuilder = coreBuilder.UseHttpClientFactory(); httpBuilder.UseTimeoutPolicy(TimeSpan.FromMinutes(10)); IConfigurationSection proxySection = configRoot.GetSection("Proxy"); if (proxySection != null && proxySection["UseProxy"].Equals("true", StringComparison.OrdinalIgnoreCase)) { httpBuilder.WithProxy(proxySection["ProxyAddress"]); } collection.AddLogging(x => { x.AddConfiguration(configRoot.GetSection("Logging")); x.AddXUnit(outputHelper); }); //A small hack to remove all validators, as we test them separately collection.RemoveAll(typeof(IValidator <>)); collection.RemoveAll <IValidator>(); _services = collection.BuildServiceProvider(); BucketName = configRoot["BucketName"] ?? "main-test-bucket-2019"; ObjectClient = _services.GetRequiredService <IObjectClient>(); BucketClient = _services.GetRequiredService <IBucketClient>(); MultipartClient = _services.GetRequiredService <IMultipartClient>(); Transfer = _services.GetRequiredService <Fluent.Transfer>(); SignedObjectClient = _services.GetRequiredService <ISignedObjectClient>(); }