< 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
100%
Covered lines: 16
Uncovered lines: 0
Coverable lines: 16
Total lines: 66
Line coverage: 100%
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%11100%
UseInMemoryAuditLifecycle(...)100%11100%
UseInMemoryGovernanceOutbox(...)100%11100%
UseInMemoryCapabilityGrantUseStore(...)100%11100%

File(s)

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

#LineLine coverage
 1using AsiBackbone.Core.Audit;
 2using AsiBackbone.Core.CapabilityTokens;
 3using AsiBackbone.Core.Outbox;
 4using AsiBackbone.DependencyInjection;
 5using AsiBackbone.Storage.InMemory.Audit;
 6using AsiBackbone.Storage.InMemory.CapabilityTokens;
 7using AsiBackbone.Storage.InMemory.Outbox;
 8using Microsoft.Extensions.DependencyInjection;
 9
 10namespace AsiBackbone.Storage.InMemory;
 11
 12/// <summary>
 13/// Provides explicit builder facade extension methods for non-durable in-memory storage.
 14/// </summary>
 15public static class InMemoryStorageBuilderExtensions
 16{
 17    /// <summary>
 18    /// Adds the non-durable in-memory audit sink through the AsiBackbone builder facade.
 19    /// </summary>
 20    public static IAsiBackboneBuilder UseInMemoryAuditLedger(this IAsiBackboneBuilder builder)
 21    {
 422        ArgumentNullException.ThrowIfNull(builder);
 23
 224        _ = builder.Services.AddSingleton<InMemoryAuditLedger>();
 225        _ = builder.Services.AddSingleton<IAsiBackboneAuditSink>(serviceProvider =>
 426            serviceProvider.GetRequiredService<InMemoryAuditLedger>());
 27
 228        return builder;
 29    }
 30
 31    /// <summary>
 32    /// Adds the non-durable in-memory audit residue lifecycle store through the AsiBackbone builder facade.
 33    /// </summary>
 34    public static IAsiBackboneBuilder UseInMemoryAuditLifecycle(this IAsiBackboneBuilder builder)
 35    {
 436        ArgumentNullException.ThrowIfNull(builder);
 37
 238        _ = builder.Services.AddSingleton<IAsiBackboneAuditResidueLifecycleStore, InMemoryAuditResidueLifecycleStore>();
 239        return builder;
 40    }
 41
 42    /// <summary>
 43    /// Adds the non-durable in-memory governance outbox store through the AsiBackbone builder facade.
 44    /// </summary>
 45    public static IAsiBackboneBuilder UseInMemoryGovernanceOutbox(this IAsiBackboneBuilder builder)
 46    {
 447        ArgumentNullException.ThrowIfNull(builder);
 48
 249        _ = builder.Services.AddSingleton<IAsiBackboneGovernanceOutboxStore, InMemoryGovernanceOutboxStore>();
 250        return builder;
 51    }
 52
 53    /// <summary>
 54    /// Adds the non-durable in-memory capability grant use store through the AsiBackbone builder facade.
 55    /// </summary>
 56    public static IAsiBackboneBuilder UseInMemoryCapabilityGrantUseStore(this IAsiBackboneBuilder builder)
 57    {
 658        ArgumentNullException.ThrowIfNull(builder);
 59
 460        _ = builder.Services.AddSingleton<InMemoryCapabilityGrantUseStore>();
 461        _ = builder.Services.AddSingleton<ICapabilityGrantUseStore>(serviceProvider =>
 862            serviceProvider.GetRequiredService<InMemoryCapabilityGrantUseStore>());
 63
 464        return builder;
 65    }
 66}