13
13
namespace SupabaseTests
14
14
{
15
15
[ TestClass ]
16
- public class Storage
16
+ public class StorageBucket
17
17
{
18
18
private static string SERVICE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaWF0IjoxNjEzNTMxOTg1LCJleHAiOjE5MjkxMDc5ODV9.th84OKK0Iz8QchDyXZRrojmKSEZ-OuitQm_5DvLiSIc" ;
19
19
@@ -37,24 +37,24 @@ public async Task InitializeTest()
37
37
} ) ;
38
38
}
39
39
40
- [ TestMethod ( "Can List Buckets " ) ]
41
- public async Task CanListBuckets ( )
40
+ [ TestMethod ( "Bucket: List" ) ]
41
+ public async Task List ( )
42
42
{
43
43
var buckets = await storage . ListBuckets ( ) ;
44
44
45
45
Assert . IsTrue ( buckets . Count > 0 ) ;
46
46
Assert . IsInstanceOfType ( buckets , typeof ( List < Bucket > ) ) ;
47
47
}
48
48
49
- [ TestMethod ( "Can Get Bucket " ) ]
50
- public async Task CanGetPublicBucket ( )
49
+ [ TestMethod ( "Bucket: Get" ) ]
50
+ public async Task Get ( )
51
51
{
52
52
var bucket = await storage . GetBucket ( "public-bucket" ) ;
53
53
Assert . IsInstanceOfType ( bucket , typeof ( Bucket ) ) ;
54
54
}
55
55
56
- [ TestMethod ( "Can Create Bucket " ) ]
57
- public async Task CanCreateBucket ( )
56
+ [ TestMethod ( "Bucket: Create, Private " ) ]
57
+ public async Task CreatePrivate ( )
58
58
{
59
59
var id = Guid . NewGuid ( ) . ToString ( ) ;
60
60
var insertId = await storage . CreateBucket ( id ) ;
@@ -65,8 +65,8 @@ public async Task CanCreateBucket()
65
65
Assert . IsFalse ( bucket . Public ) ;
66
66
}
67
67
68
- [ TestMethod ( "Can Create Public Bucket " ) ]
69
- public async Task CanCreatePublicBucket ( )
68
+ [ TestMethod ( "Bucket: Create, Public" ) ]
69
+ public async Task CreatePublic ( )
70
70
{
71
71
var id = Guid . NewGuid ( ) . ToString ( ) ;
72
72
await storage . CreateBucket ( id , new BucketUpsertOptions { Public = true } ) ; ;
@@ -76,8 +76,8 @@ public async Task CanCreatePublicBucket()
76
76
Assert . IsTrue ( bucket . Public ) ;
77
77
}
78
78
79
- [ TestMethod ( "Can Update Bucket " ) ]
80
- public async Task CanUpdateBucket ( )
79
+ [ TestMethod ( "Bucket: Update" ) ]
80
+ public async Task Update ( )
81
81
{
82
82
var id = Guid . NewGuid ( ) . ToString ( ) ;
83
83
await storage . CreateBucket ( id ) ;
@@ -91,10 +91,17 @@ public async Task CanUpdateBucket()
91
91
Assert . IsTrue ( nowPublicBucket . Public ) ;
92
92
}
93
93
94
- [ TestMethod ( "Can Empty Bucket " ) ]
95
- public async Task CanEmptyBucket ( )
94
+ [ TestMethod ( "Bucket: Empty" ) ]
95
+ public async Task Empty ( )
96
96
{
97
- var id = "bucket-3" ;
97
+ var id = Guid . NewGuid ( ) . ToString ( ) ;
98
+ await storage . CreateBucket ( id ) ;
99
+
100
+ for ( var i = 0 ; i < 5 ; i ++ )
101
+ {
102
+ await storage . From ( id ) . Upload ( new Byte [ ] { 0x0 , 0x0 , 0x0 } , $ "test-{ i } .bin") ;
103
+ }
104
+
98
105
var initialList = await storage . From ( id ) . List ( ) ;
99
106
100
107
Assert . IsTrue ( initialList . Count > 0 ) ;
@@ -105,5 +112,39 @@ public async Task CanEmptyBucket()
105
112
106
113
Assert . IsTrue ( listAfterEmpty . Count == 0 ) ;
107
114
}
115
+
116
+ [ TestMethod ( "Bucket: Delete, Throws Error if Not Empty" ) ]
117
+ public async Task DeleteThrows ( )
118
+ {
119
+ var id = Guid . NewGuid ( ) . ToString ( ) ;
120
+ await storage . CreateBucket ( id ) ;
121
+
122
+ for ( var i = 0 ; i < 5 ; i ++ )
123
+ {
124
+ await storage . From ( id ) . Upload ( new Byte [ ] { 0x0 , 0x0 , 0x0 } , $ "test-{ i } .bin") ;
125
+ }
126
+
127
+ await Assert . ThrowsExceptionAsync < BadRequestException > ( async ( ) =>
128
+ {
129
+ await storage . DeleteBucket ( id ) ;
130
+ } ) ;
131
+ }
132
+
133
+ [ TestMethod ( "Bucket: Delete" ) ]
134
+ public async Task Delete ( )
135
+ {
136
+ var id = Guid . NewGuid ( ) . ToString ( ) ;
137
+ await storage . CreateBucket ( id ) ;
138
+
139
+ for ( var i = 0 ; i < 5 ; i ++ )
140
+ {
141
+ await storage . From ( id ) . Upload ( new Byte [ ] { 0x0 , 0x0 , 0x0 } , $ "test-{ i } .bin") ;
142
+ }
143
+
144
+ await storage . EmptyBucket ( id ) ;
145
+ await storage . DeleteBucket ( id ) ;
146
+
147
+ Assert . IsNull ( await storage . GetBucket ( id ) ) ;
148
+ }
108
149
}
109
150
}
0 commit comments