Skip to content

Commit 66b9160

Browse files
committed
test: improve unit tests
1 parent d4e2519 commit 66b9160

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

StorageTests/StorageFileTests.cs

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using Microsoft.VisualStudio.TestTools.UnitTesting;
88
using Supabase.Storage;
99
using Supabase.Storage.Interfaces;
10+
using FileOptions = Supabase.Storage.FileOptions;
1011

1112
namespace StorageTests;
1213

@@ -75,6 +76,51 @@ public async Task UploadFile()
7576

7677
await _bucket.Remove(new List<string> { name });
7778
}
79+
80+
[TestMethod("File: Upload File With FileOptions")]
81+
public async Task UploadFileWithFileOptions()
82+
{
83+
var didTriggerProgress = new TaskCompletionSource<bool>();
84+
85+
var asset = "supabase-csharp.png";
86+
var name = $"{Guid.NewGuid()}.png";
87+
var basePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)?.Replace("file:", "");
88+
89+
Assert.IsNotNull(basePath);
90+
91+
var imagePath = Path.Combine(basePath, "Assets", asset);
92+
93+
var metadata = new Dictionary<string, string>
94+
{
95+
["custom"] = "metadata",
96+
["local_file"] = "local_file"
97+
};
98+
99+
var headers = new Dictionary<string, string>
100+
{
101+
["x-version"] = "123"
102+
};
103+
104+
var options = new FileOptions
105+
{
106+
Duplex = "duplex",
107+
Metadata = metadata,
108+
Headers = headers,
109+
};
110+
await _bucket.Upload(imagePath, name, options, (_, _) => { didTriggerProgress.TrySetResult(true); });
111+
112+
var item = await _bucket.Find(name);
113+
114+
Assert.IsNotNull(item);
115+
Assert.IsNotNull(item.Metadata);
116+
Assert.AreEqual(metadata["custom"], item.Metadata["custom"]);
117+
Assert.AreEqual(metadata["local_file"], item.Metadata["local_file"]);
118+
119+
var sentProgressEvent = await didTriggerProgress.Task;
120+
Assert.IsTrue(sentProgressEvent);
121+
122+
await _bucket.Remove([name]);
123+
}
78124

79125
[TestMethod("File: Upload Arbitrary Byte Array")]
80126
public async Task UploadArbitraryByteArray()
@@ -192,7 +238,7 @@ public async Task CopyToAnotherBucket()
192238
foreach (var file in copied)
193239
{
194240
if (file.Name is not null)
195-
await localBucket.Remove(new List<string> { file.Name });
241+
await localBucket.Remove([file.Name]);
196242
}
197243

198244
await Storage.DeleteBucket("copyfile");

0 commit comments

Comments
 (0)