NetEvolve.Http.Correlation.TestGenerator
3.0.0
Prefix Reserved
dotnet add package NetEvolve.Http.Correlation.TestGenerator --version 3.0.0
NuGet\Install-Package NetEvolve.Http.Correlation.TestGenerator -Version 3.0.0
<PackageReference Include="NetEvolve.Http.Correlation.TestGenerator" Version="3.0.0" />
<PackageVersion Include="NetEvolve.Http.Correlation.TestGenerator" Version="3.0.0" />
<PackageReference Include="NetEvolve.Http.Correlation.TestGenerator" />
paket add NetEvolve.Http.Correlation.TestGenerator --version 3.0.0
#r "nuget: NetEvolve.Http.Correlation.TestGenerator, 3.0.0"
#:package NetEvolve.Http.Correlation.TestGenerator@3.0.0
#addin nuget:?package=NetEvolve.Http.Correlation.TestGenerator&version=3.0.0
#tool nuget:?package=NetEvolve.Http.Correlation.TestGenerator&version=3.0.0
NetEvolve.Http.Correlation.TestGenerator
Test-friendly implementation of IHttpCorrelationIdProvider with predictable correlation ID generation.
Overview
This package provides a deterministic correlation ID provider specifically designed for testing scenarios. It generates predictable, sequential correlation IDs that make test assertions easier and test output more readable.
Key Features
- Predictable IDs: Generates sequential, deterministic correlation IDs
- Test-Friendly: Simplifies test assertions and debugging
- Configurable Format: Customize ID format and prefix
- Reset Capability: Reset counter between test runs
- Multi-Framework Support: Compatible with .NET 8.0, 9.0, and 10.0
Installation
dotnet add package NetEvolve.Http.Correlation.TestGenerator
Usage
Basic Setup
Configure services to use test correlation IDs in your test setup:
using NetEvolve.Http.Correlation;
using Microsoft.AspNetCore.Mvc.Testing;
public class IntegrationTests : IClassFixture<WebApplicationFactory<Program>>
{
private readonly WebApplicationFactory<Program> _factory;
public IntegrationTests(WebApplicationFactory<Program> factory)
{
_factory = factory.WithWebHostBuilder(builder =>
{
builder.ConfigureServices(services =>
{
services
.AddHttpCorrelation()
.WithTestGenerator(); // Use test provider
});
});
}
[Fact]
public async Task Request_ShouldHaveCorrelationId()
{
// Arrange
var client = _factory.CreateClient();
// Act
var response = await client.GetAsync("/api/data");
// Assert
response.Headers.Should().Contain(h =>
h.Key == "X-Correlation-ID" &&
h.Value.First() == "test-00000001");
}
}
Custom Format
Configure custom test ID:
services
.AddHttpCorrelation()
.WithTestGenerator("my-custom-test-id");
// Always generates: my-custom-test-id
ID Format
Default: Generated_Test_Id
Custom example:
.WithTestGenerator("my-test-123")
// Always generates: my-test-123
Use Cases
- Integration Tests: Verify correlation ID flow through the system
- Unit Tests: Mock correlation ID behavior with predictable values
- E2E Tests: Trace requests with readable correlation IDs
- Debug Sessions: Identify test requests in logs
Related Packages
Required Package
- NetEvolve.Http.Correlation.Abstractions - Core abstractions and interfaces
Companion Packages
- NetEvolve.Http.Correlation.AspNetCore - ASP.NET Core middleware and services
- NetEvolve.Http.Correlation.HttpClient - HTTP client correlation forwarding
- NetEvolve.Http.Correlation.Ulid - ULID-based provider for production
Dependencies
NetEvolve.Http.Correlation.Abstractions
License
Licensed under the MIT License. See LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
-
net10.0
- NetEvolve.Http.Correlation.Abstractions (>= 3.0.0)
-
net8.0
- NetEvolve.Http.Correlation.Abstractions (>= 3.0.0)
-
net9.0
- NetEvolve.Http.Correlation.Abstractions (>= 3.0.0)
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 |
|---|---|---|
| 3.0.0 | 692 | 11/23/2025 |
| 2.3.56 | 550 | 10/20/2025 |
| 2.3.3 | 2,582 | 5/4/2025 |
| 2.3.1 | 573 | 4/9/2025 |
| 2.2.85 | 5,271 | 9/12/2024 |
| 2.2.75 | 418 | 8/26/2024 |
| 2.2.44 | 1,070 | 6/11/2024 |
| 2.2.15 | 486 | 5/21/2024 |
| 2.2.11 | 279 | 5/21/2024 |
| 2.2.2 | 191 | 5/17/2024 |
| 2.1.13 | 241 | 5/15/2024 |
| 2.1.7 | 759 | 4/8/2024 |
| 2.1.0 | 194 | 4/4/2024 |
| 2.0.0 | 221 | 4/4/2024 |
| 1.2.36 | 1,013 | 2/20/2024 |
| 1.2.13 | 960 | 1/5/2024 |
| 1.2.4 | 210 | 1/3/2024 |
| 1.2.1 | 378 | 1/1/2024 |
| 1.1.69 | 688 | 11/28/2023 |
| 1.1.39 | 985 | 10/7/2023 |
| 1.1.19 | 784 | 8/28/2023 |
| 1.1.18 | 247 | 8/28/2023 |
| 1.1.12 | 245 | 8/28/2023 |
| 1.1.0 | 1,376 | 7/3/2023 |