arcus-azure / arcus-azure/arcus.testing

✨ Add `TemporaryBlockBlobFile` to `Arcus.Testing.Storage.Blob`

Open
#214 0 comments 0 reactions 0 assignees View on GitHub
area:storage feature triage
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.