Storage Content Validation - Fuzzy Upload Tests#49031
Open
ibrandes wants to merge 2 commits intoAzure:feature/storage/content-validationfrom
Open
Storage Content Validation - Fuzzy Upload Tests#49031ibrandes wants to merge 2 commits intoAzure:feature/storage/content-validationfrom
ibrandes wants to merge 2 commits intoAzure:feature/storage/content-validationfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds deterministic, parameterized “fuzzy” parallel upload test coverage for Blob content validation using CRC64, validating round-trip integrity across varied payload sizes, segment/block sizes, and concurrency for both sync and async clients.
Changes:
- Added shared
@MethodSourceargument grids inBlobTestBaseto drive deterministic fuzzy upload scenarios (replayable Put Blob cases + live-only staging-heavy cases). - Added new parameterized CRC64 parallel upload round-trip tests for
BlobClientandBlobAsyncClient. - Updated
assets.jsontag forazure-storage-blob.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 10 comments.
| File | Description |
|---|---|
| sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobTestBase.java | Introduces shared deterministic Stream<Arguments> grids for fuzzy parallel upload coverage. |
| sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobContentValidationUploadTests.java | Adds parameterized sync fuzzy parallel upload tests + shared helper for CRC64 upload/download byte-compare. |
| sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobContentValidationAsyncUploadTests.java | Adds parameterized async fuzzy parallel upload tests + shared helper for CRC64 upload/download byte-compare. |
| sdk/storage/azure-storage-blob/assets.json | Updates assets tag. |
gunjansingh-msft
approved these changes
May 6, 2026
Member
gunjansingh-msft
left a comment
There was a problem hiding this comment.
Mostly all relevant cases are covered, and the overall test coverage looks good. Approving.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds parameterized fuzzy parallel upload coverage for blob content validation: parallel
uploadWithResponsewith CRC64, varied payload size, segment / block size, and max concurrency, then download and byte-compare for sync (BlobClient) and async (BlobAsyncClient) paths.Details
BlobTestBase: introduces shared@MethodSourcestreams that encode deterministic grids (non–power-of-two sizes, 4 MiB boundary cases, small/medium/large multipart stress).BlobContentValidationUploadTests/BlobContentValidationAsyncUploadTests: new parameterized tests call small helpers that buildParallelTransferOptions+BlobParallelUploadOptionswith CRC64 and assert round-trip integrity per tuple.@LiveOnlywhere recordings are unstable (e.g. random block IDs in URLs).