SolTechnology.Core.Blob.Testing 1.0.0

dotnet add package SolTechnology.Core.Blob.Testing --version 1.0.0
                    
NuGet\Install-Package SolTechnology.Core.Blob.Testing -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SolTechnology.Core.Blob.Testing" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SolTechnology.Core.Blob.Testing" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="SolTechnology.Core.Blob.Testing" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SolTechnology.Core.Blob.Testing --version 1.0.0
                    
#r "nuget: SolTechnology.Core.Blob.Testing, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SolTechnology.Core.Blob.Testing@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SolTechnology.Core.Blob.Testing&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=SolTechnology.Core.Blob.Testing&version=1.0.0
                    
Install as a Cake Tool

SolTechnology.Core.Blob.Testing

Integration-testing fixture for apps backed by Azure Blob Storage (e.g. SolTechnology.Core.Blob consumers): a Testcontainers-backed AzuriteFixture that boots an Azurite container (the Azure Storage emulator) and hands back the connection string your app already wires.

Azure-specific by design — there is no LocalStack / S3 path. Reference from test projects only — not needed at runtime in production assemblies.

What's in the box

Member Purpose
AzuriteFixture Boots an azurite container, exposes ConnectionString, CreateBlobContainerAsync / ClearAsync, honours the shared reuse policy.
ConnectionString Azure Storage connection string for the running Azurite instance.
CreateBlobContainerAsync(name) Returns a BlobContainerClient, creating the blob container if needed.
ClearAsync() Deletes every blob container — the between-test reset when the container is reused.
WithNetwork(network, alias) Attach to a docker network to share with other fixtures.

Usage

// Assembly-level [OneTimeSetUp]
AzuriteFixture = new AzuriteFixture();
await AzuriteFixture.InitializeAsync();

var configuration = new TestConfigurationBuilder()
    .AddJsonFile("appsettings.tests.json")
    .Override("Blob:ConnectionString", AzuriteFixture.ConnectionString)
    .Build();

// Arrange a blob container in a test:
var container = await AzuriteFixture.CreateBlobContainerAsync("dossier");
await container.UploadBlobAsync("key", BinaryData.FromString("payload"));

// In a per-test teardown, when the container is reused:
await AzuriteFixture.ClearAsync();

// Assembly-level [OneTimeTearDown]
await AzuriteFixture.DisposeAsync();   // no-op when TESTCONTAINERS_REUSE=true

Container lifetime & reuse

The fixture defers to SolTechnology.Core.Testing's TestContainersContext:

  • Within a run — boot once in [OneTimeSetUp]; every test reuses the same container for free.
  • Across runs — set TESTCONTAINERS_REUSE=true to keep the container alive between runs (stable name + WithReuse(true), and ContainerLifecycleHelper.EnsureRunningAsync restarts it if it was stopped externally); DisposeAsync() becomes a no-op. CI stays hermetic by default.
  • Between tests — call ClearAsync() to drop all blob containers without restarting Azurite.
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 48 7/6/2026