Skip to content

Commit 1449062

Browse files
Fix: Avoid NRE on CloudflareR2Service.GetAllObjects when no file in bucket (#173)
1 parent d948f4f commit 1449062

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/ByteSync.ServerCommon/Services/Storage/CloudflareR2Service.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ private string GetServerFileName(SharedFileDefinition sharedFileDefinition, int
9292
};
9393

9494
var response = await client.ListObjectsV2Async(request, cancellationToken);
95-
return response.S3Objects
95+
return response.S3Objects?
9696
.Select(o => new KeyValuePair<string, DateTimeOffset?>(o.Key, o.LastModified))
97-
.ToList();
97+
.ToList() ?? [];
9898
}
9999

100100
public async Task DeleteObjectByKey(string key, CancellationToken cancellationToken)

tests/ByteSync.Client.Tests/Services/Communications/Transfers/FileUploadProcessorTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ public async Task ProcessUpload_ShouldStartUploadWorkers()
109109
.Returns(Task.CompletedTask);
110110
_mockFilePartUploadAsserter.Setup(x => x.AssertUploadIsFinished(It.IsAny<SharedFileDefinition>(), It.IsAny<int>()))
111111
.Returns(Task.CompletedTask);
112+
_mockFileUploadCoordinator.Setup(x => x.WaitForCompletionAsync())
113+
.Returns(Task.Delay(150)); // Small delay to let tasks start
112114

113115
// Act
114116
await _fileUploadProcessor.ProcessUpload(_sharedFileDefinition);

0 commit comments

Comments
 (0)