< Summary

Information
Class: Elsa.Diagnostics.ConsoleLogs.Services.ElsaConsoleLogStreamHubAuthorizer
Assembly: Elsa.Diagnostics.ConsoleLogs
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Diagnostics.ConsoleLogs/Services/ElsaConsoleLogStreamHubAuthorizer.cs
Line coverage
100%
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 22
Line coverage: 100%
Branch coverage
50%
Covered branches: 3
Total branches: 6
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.cctor()100%11100%
CanReadAsync(...)50%66100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Diagnostics.ConsoleLogs/Services/ElsaConsoleLogStreamHubAuthorizer.cs

#LineLine coverage
 1using Elsa.Authorization;
 2using Elsa.Diagnostics.ConsoleLogs.Permissions;
 3using Microsoft.AspNetCore.SignalR;
 4
 5namespace Elsa.Diagnostics.ConsoleLogs.Services;
 6
 7public interface IElsaConsoleLogHubAuthorizer
 8{
 9    ValueTask<bool> CanReadAsync(HubCallerContext context, CancellationToken cancellationToken = default);
 10}
 11
 12public sealed class ElsaConsoleLogStreamHubAuthorizer : IElsaConsoleLogHubAuthorizer
 13{
 114    private static readonly Permission ReadConsoleLogs = new(ConsoleLogsResourcePermissions.ConsoleLogs, CoreVerbs.View)
 15
 16    public ValueTask<bool> CanReadAsync(HubCallerContext context, CancellationToken cancellationToken = default)
 17    {
 818        cancellationToken.ThrowIfCancellationRequested();
 819        var user = context.User;
 820        return ValueTask.FromResult(user?.Identity?.IsAuthenticated == true && PermissionEvaluator.Shared.HasPermission(
 21    }
 22}