arcus-azure / arcus-azure/arcus.testing
✨ Add `TemporaryBlockBlobFile` to `Arcus.Testing.Storage.Blob`
- Dominant language
- C#
- Stars
- 9
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
**Is your feature request related to a problem? Please describe.**
We have a `TemporaryBlobFile` test fixture that deals with regular blobs, but not one that deals with block blobs. Block blobs are espcially useful in places where you want to upload the contents in partials for performance reasons or the way the content is structured.
With one or many `CommitAsync` calls, ending with a `StageAsync` call, 'blocks' are prepared and send together as a collection to the blob file.
**Describe the solution you'd like**
Creates a `TemporaryBlockBlobFile` that allows us to either temporary override the entire blob file, or append a single block to the blob file.
In both cases, a disposal of the test fixture should result in the blob file having its original content.
**Describe alternatives you've considered**
n/a
**Additional context**
https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs#about-block-blobs
Contributor guide
Research direction
Locate the existing TemporaryBlobFile fixture and review how it overrides content and restores the original on disposal. Use the linked Azure block blob documentation to understand CommitAsync and StageAsync behavior. Done means a TemporaryBlockBlobFile supports whole-file replacement and single-block appends, while disposal restores the original blob content.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- cloud, testing
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100