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