1+ using ManagedCode . Storage . Aws ;
2+ using ManagedCode . Storage . Azure ;
3+ using ManagedCode . Storage . AzureDataLake ;
4+ using ManagedCode . Storage . Core ;
5+ using ManagedCode . Storage . Gcp ;
6+ using Microsoft . Extensions . DependencyInjection ;
7+ using Microsoft . Extensions . DependencyInjection . Extensions ;
8+
9+ namespace ManagedCode . Storage . TestFakes ;
10+
11+ public static class MockCollectionExtensions
12+ {
13+ public static IServiceCollection ReplaceAWSStorageAsDefault ( this IServiceCollection serviceCollection )
14+ {
15+ serviceCollection . ReplaceAWSStorage ( ) ;
16+ serviceCollection . AddScoped < IStorage , FakeAWSStorage > ( ) ;
17+ return serviceCollection ;
18+ }
19+
20+ public static IServiceCollection ReplaceAWSStorage ( this IServiceCollection serviceCollection )
21+ {
22+ serviceCollection . RemoveAll < IAWSStorage > ( ) ;
23+ serviceCollection . RemoveAll < AWSStorage > ( ) ;
24+ serviceCollection . AddScoped < IAWSStorage , FakeAWSStorage > ( ) ;
25+ return serviceCollection ;
26+ }
27+
28+ public static IServiceCollection ReplaceAzureDataLakeStorage ( this IServiceCollection serviceCollection )
29+ {
30+ serviceCollection . RemoveAll < IAzureDataLakeStorage > ( ) ;
31+ serviceCollection . RemoveAll < AzureDataLakeStorage > ( ) ;
32+ serviceCollection . AddScoped < IAzureDataLakeStorage , FakeAzureDataLakeStorage > ( ) ;
33+ return serviceCollection ;
34+ }
35+
36+ public static IServiceCollection ReplaceAzureDataLakeStorageAsDefault ( this IServiceCollection serviceCollection )
37+ {
38+ serviceCollection . ReplaceAzureDataLakeStorage ( ) ;
39+ serviceCollection . AddScoped < IStorage , FakeAzureDataLakeStorage > ( ) ;
40+ return serviceCollection ;
41+ }
42+
43+ public static IServiceCollection ReplaceAzureStorage ( this IServiceCollection serviceCollection )
44+ {
45+ serviceCollection . RemoveAll < IAzureStorage > ( ) ;
46+ serviceCollection . RemoveAll < FakeAzureStorage > ( ) ;
47+ serviceCollection . AddScoped < IAzureStorage , FakeAzureStorage > ( ) ;
48+ return serviceCollection ;
49+ }
50+
51+ public static IServiceCollection ReplaceAzureStorageAsDefault ( this IServiceCollection serviceCollection )
52+ {
53+ serviceCollection . ReplaceAzureStorage ( ) ;
54+ serviceCollection . AddScoped < IStorage , FakeAzureStorage > ( ) ;
55+ return serviceCollection ;
56+ }
57+
58+ public static IServiceCollection ReplaceGCPStorageAsDefault ( this IServiceCollection serviceCollection )
59+ {
60+ serviceCollection . ReplaceGCPStorage ( ) ;
61+ serviceCollection . AddScoped < IStorage , FakeAzureStorage > ( ) ;
62+ return serviceCollection ;
63+ }
64+
65+ public static IServiceCollection ReplaceGCPStorage ( this IServiceCollection serviceCollection )
66+ {
67+ serviceCollection . RemoveAll < IGCPStorage > ( ) ;
68+ serviceCollection . RemoveAll < GCPStorage > ( ) ;
69+ serviceCollection . AddScoped < IGCPStorage , FakeGCPStorage > ( ) ;
70+ return serviceCollection ;
71+ }
72+ }
0 commit comments