Esempio n. 1
0
        public void GetRoots()
        {
            var features = new FeatureCollectionBuilder().Build <IStorageProvider>();
            var provider = new LinuxStorageProvider(features, new DummyLogger(), null, null);

            Assert.Equal(features.Keys, provider.Features.Keys);
            var roots = provider.GetRoots().ToArray();

            Assert.Single(roots, root => root is LinuxStorageRoot linuxRoot && "/" == linuxRoot.RootPath && "file:///" == linuxRoot.Uri.ToString());
        }
Esempio n. 2
0
        public StorageProvider(
            ILogger <StorageProvider> logger,
            IFeatureCollection <IStorageProvider> features = null,
            IContentAnalyzer contentAnalyzer  = null,
            GoogleCloudStorageOptions options = null)
        {
            if (features == null)
            {
                features = new FeatureCollectionBuilder().Build <IStorageProvider>();
            }
            var googleFeatures = new FeatureCollectionBuilder();

            googleFeatures.AddFeature <ICacheControlFeature>(new CacheControlFeature());
            googleFeatures.AddFeature <ICreateByPathFeature>(new CreateByPathFeature());
            googleFeatures.AddFeature <IRecordCopyFeature>(new RecordCopyFeature());
            googleFeatures.AddFeature <ILoggerFeature>(new LoggerFeature());
            Features        = new CompositeFeatureCollection(features, googleFeatures.Build());
            Logger          = logger ?? throw new ArgumentNullException(nameof(logger));
            ContentAnalyzer = contentAnalyzer;
            Options         = options ?? GoogleCloudStorageOptions.Default;
        }