< Summary

Information
Class: ClientManager.Shared.Messaging.ContextEnrichmentMiddleware
Assembly: ClientManager.Shared
File(s): /home/runner/work/ClientManagerDemo/ClientManagerDemo/src/ClientManager/ClientManager.Shared/Messaging/Middleware/ContextEnrichmentMiddleware.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 9
Coverable lines: 9
Total lines: 23
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 6
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%210%
InvokeAsync()0%4260%

File(s)

/home/runner/work/ClientManagerDemo/ClientManagerDemo/src/ClientManager/ClientManager.Shared/Messaging/Middleware/ContextEnrichmentMiddleware.cs

#LineLine coverage
 1using ClientManager.Shared.Contracts.Commands;
 2using Microsoft.Extensions.Logging;
 3
 4namespace ClientManager.Shared.Messaging;
 5
 06public class ContextEnrichmentMiddleware(IMessageContextAccessor messageContextAccessor, ILogger<ContextEnrichmentMiddle
 7{
 08    readonly IMessageContextAccessor _messageContextAccessor = messageContextAccessor;
 09    readonly ILogger<ContextEnrichmentMiddleware>? _logger = logger;
 10
 11    public async Task InvokeAsync<T>(T message, MessagePublishDeleagte<T> next, CancellationToken cancellationToken)
 12        where T : IMessage
 13    {
 014        if (message is CreateClient createClientMessage && createClientMessage.Id == Guid.Empty)
 15        {
 016            createClientMessage.Id = Guid.NewGuid();
 017            _logger?.LogDebug("Assigned new Id {Id} to mesage {MessageType}", createClientMessage.Id, typeof(T).Name);
 018            _messageContextAccessor.SetCausationId(createClientMessage.Id);
 19        }
 20
 021        await next(message, cancellationToken);
 022    }
 23}