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()); }
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; }