< Summary

Information
Class: Elsa.ExternalAuthentication.Notifications.ExternalAuthenticationOutcomeRecorded
Assembly: Elsa.ExternalAuthentication
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.ExternalAuthentication/Notifications/ExternalAuthenticationSecurityNotifications.cs
Line coverage
100%
Covered lines: 1
Uncovered lines: 0
Coverable lines: 1
Total lines: 47
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
get_Context()100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.ExternalAuthentication/Notifications/ExternalAuthenticationSecurityNotifications.cs

#LineLine coverage
 1using Elsa.Mediator.Contracts;
 2
 3namespace Elsa.ExternalAuthentication.Notifications;
 4
 5public enum SecurityEventOutcome
 6{
 7    Succeeded,
 8    Failed,
 9    Rejected
 10}
 11
 12/// <summary>
 13/// Safe context shared by External Authentication security notifications.
 14/// It intentionally contains no secret, token, raw subject, or unrestricted claim value.
 15/// </summary>
 16public sealed record SecurityEventContext(
 17    string? ActorId,
 18    string? TenantId,
 19    string? ConnectionId,
 20    string? UserId,
 21    DateTimeOffset OccurredAt,
 22    SecurityEventOutcome Outcome,
 23    string CorrelationId,
 24    string Summary);
 25
 26public sealed record IdentityProviderConnectionChanged(SecurityEventContext Context, string Operation, long Revision, st
 27public sealed record IdentityProviderConnectionLifecycleChanged(SecurityEventContext Context, string PreviousLifecycle, 
 28public sealed record IdentityProviderConnectionSecretBindingChanged(SecurityEventContext Context, string FieldName, stri
 29public sealed record IdentityProviderConnectionTested(SecurityEventContext Context, string TestedMaterialRevision, strin
 30public sealed record IdentityProviderConnectionPreviewed(SecurityEventContext Context, string MaterialRevision) : INotif
 31public sealed record ExternalIdentityLinkChanged(SecurityEventContext Context, string Operation, string LinkId) : INotif
 32public sealed record ExternalIdentityLinkReplaced(
 33    SecurityEventContext Context,
 34    string OldLinkId,
 35    string? NewLinkId,
 36    string OldUserId,
 37    string NewUserId,
 38    string OldConnectionKey,
 39    string NewConnectionKey,
 40    string? ConflictingLinkId = null,
 41    string? ConflictingUserId = null,
 42    string? ConflictingConnectionKey = null) : INotification;
 43public sealed record ExternalAuthenticationSessionRevoked(SecurityEventContext Context, string SessionId, string Reason)
 44public sealed record ExternalAuthenticationConnectionSessionsRevoked(SecurityEventContext Context, int SessionCount, str
 45public sealed record ExternalSignInCompleted(SecurityEventContext Context, string? SessionId, string? AdapterType) : INo
 46/// <summary>Safe terminal broker outcome. Flow and stage are fixed internal vocabulary; no provider detail is included.
 1347public sealed record ExternalAuthenticationOutcomeRecorded(SecurityEventContext Context, string Flow, string Stage, stri

Methods/Properties

get_Context()