コード例 #1
0
        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>();
        }