Aspire and azure blob storage#550
Conversation
…StorageBlobsProjector - Create new test project following Eventuous.Tests.Azure.ServiceBus structure - Add Testcontainers.Azurite package to Directory.Packages.props - Add IntegrationFixture with Azurite and KurrentDB containers - Test all On method variants (sync/async, state/context) for new and existing blobs - Test concurrent modification scenario (412 Precondition Failed) - Test no handler scenario (returns Ignored) Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
…face intent - Add helper methods: SetupContainer, SetupExistingBlob, GetBlobState, AssertSuccess, AssertIgnored - Rename projector classes to surface handler patterns (SyncStateProjector, etc.) - Group tests by handler variant with clear section comments - Test names now follow [Variant]_[Scenario]_[ExpectedBehavior] pattern - Reduce LOC from ~450 to ~330 (-27%) - Remove fixture parameter from CreateContext (unused) Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
…obServiceClient and container name - Add StorageBlobsProjector(BlobServiceClient, string containerName) constructor - Update test helper methods to work with container names instead of BlobContainerClient - Add GetContainer() helper to get BlobContainerClient from fixture - Update all test projector classes with new constructor overload - Update all tests to use fixture.BlobServiceClient with container names Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
PR Summary by QodoAdd Azure Blob Storage projector and .NET Aspire Azure sample Description
Diagram
High-Level Assessment
Files changed (39)
|
Code Review by Qodo
1.
|
This PR includes two new features instead of one I'm afraid, but they do dovetail together nicely. It builds on my Azure ServiceBus piece.
Azure blob storage
Adds a new projection target for persisting state to Azure Blob Storage. The implementation provides a flexible way to project events into blob-stored state objects.
Aspire Sample
A new sample demonstrates how to use Eventuous in a distributed .NET Aspire application with Azure services.
Aspire CLI, and really an IDE extensionPR prepared with the help of Mistral Vibe.