< Summary

Information
Class: AsiBackbone.Storage.InMemory.InMemoryStorageBuilderExtensions
Assembly: AsiBackbone.Storage.InMemory
File(s): /home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.Storage.InMemory/InMemoryStorageBuilderExtensions.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 11
Coverable lines: 11
Total lines: 50
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
UseInMemoryAuditLedger(...)100%210%
UseInMemoryAuditLifecycle(...)100%210%
UseInMemoryGovernanceOutbox(...)100%210%

File(s)

/home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.Storage.InMemory/InMemoryStorageBuilderExtensions.cs

#LineLine coverage
 1using AsiBackbone.Core.Audit;
 2using AsiBackbone.Core.Outbox;
 3using AsiBackbone.DependencyInjection;
 4using AsiBackbone.Storage.InMemory.Audit;
 5using AsiBackbone.Storage.InMemory.Outbox;
 6using Microsoft.Extensions.DependencyInjection;
 7
 8namespace AsiBackbone.Storage.InMemory;
 9
 10/// <summary>
 11/// Provides explicit builder facade extension methods for non-durable in-memory storage.
 12/// </summary>
 13public static class InMemoryStorageBuilderExtensions
 14{
 15    /// <summary>
 16    /// Adds the non-durable in-memory audit sink through the AsiBackbone builder facade.
 17    /// </summary>
 18    public static IAsiBackboneBuilder UseInMemoryAuditLedger(this IAsiBackboneBuilder builder)
 19    {
 020        ArgumentNullException.ThrowIfNull(builder);
 21
 022        _ = builder.Services.AddSingleton<InMemoryAuditLedger>();
 023        _ = builder.Services.AddSingleton<IAsiBackboneAuditSink>(serviceProvider =>
 024            serviceProvider.GetRequiredService<InMemoryAuditLedger>());
 25
 026        return builder;
 27    }
 28
 29    /// <summary>
 30    /// Adds the non-durable in-memory audit residue lifecycle store through the AsiBackbone builder facade.
 31    /// </summary>
 32    public static IAsiBackboneBuilder UseInMemoryAuditLifecycle(this IAsiBackboneBuilder builder)
 33    {
 034        ArgumentNullException.ThrowIfNull(builder);
 35
 036        _ = builder.Services.AddSingleton<IAsiBackboneAuditResidueLifecycleStore, InMemoryAuditResidueLifecycleStore>();
 037        return builder;
 38    }
 39
 40    /// <summary>
 41    /// Adds the non-durable in-memory governance outbox store through the AsiBackbone builder facade.
 42    /// </summary>
 43    public static IAsiBackboneBuilder UseInMemoryGovernanceOutbox(this IAsiBackboneBuilder builder)
 44    {
 045        ArgumentNullException.ThrowIfNull(builder);
 46
 047        _ = builder.Services.AddSingleton<IAsiBackboneGovernanceOutboxStore, InMemoryGovernanceOutboxStore>();
 048        return builder;
 49    }
 50}