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
                    
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="NetEvolve.Http.Correlation.TestGenerator" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NetEvolve.Http.Correlation.TestGenerator" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="NetEvolve.Http.Correlation.TestGenerator" />
                    
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 NetEvolve.Http.Correlation.TestGenerator --version 3.0.0
                    
#r "nuget: NetEvolve.Http.Correlation.TestGenerator, 3.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 NetEvolve.Http.Correlation.TestGenerator@3.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=NetEvolve.Http.Correlation.TestGenerator&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=NetEvolve.Http.Correlation.TestGenerator&version=3.0.0
                    
Install as a Cake Tool

NetEvolve.Http.Correlation.TestGenerator

Nuget

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

Required Package

Companion Packages

Dependencies

  • NetEvolve.Http.Correlation.Abstractions

License

Licensed under the MIT License. See LICENSE for details.

Product 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. 
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
3.0.0 699 11/23/2025
2.3.56 554 10/20/2025
2.3.3 2,582 5/4/2025
2.3.1 574 4/9/2025
2.2.85 5,272 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