< Summary - Kestrun — Combined Coverage

Information
Class: Kestrun.Hosting.Options.SignalROptions
Assembly: Kestrun
File(s): /home/runner/work/Kestrun/Kestrun/src/CSharp/Kestrun/Hosting/Options/SignalROptions.cs
Tag: Kestrun/Kestrun@ca54e35c77799b76774b3805b6f075cdbc0c5fbe
Line coverage
0%
Covered lines: 0
Uncovered lines: 9
Coverable lines: 9
Total lines: 76
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

Coverage history

Coverage history 0 25 50 75 100 01/12/2026 - 18:03:06 Line coverage: 0% (0/9) Total lines: 76 Tag: Kestrun/Kestrun@956332ccc921363590dccd99d5707fb20b50966b

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Path()100%210%
get_DocId()100%210%
get_Default()100%210%
get_Summary()100%210%
get_Description()100%210%
get_HubName()100%210%
get_Tags()100%210%
get_SkipOpenApi()100%210%
get_IncludeNegotiateEndpoint()100%210%

File(s)

/home/runner/work/Kestrun/Kestrun/src/CSharp/Kestrun/Hosting/Options/SignalROptions.cs

#LineLine coverage
 1namespace Kestrun.Hosting.Options;
 2
 3/// <summary>
 4/// Customization options for the OpenAPI metadata generated for the SignalR hub endpoint.
 5/// </summary>
 6public sealed record SignalROptions
 7{
 8    /// <summary>
 9    /// The default path for the SignalR hub endpoint.
 10    /// </summary>
 11    public const string DefaultPath = "/signalr/{hub}";
 12
 13    /// <summary>
 14    /// The default name for the SignalR hub.
 15    /// </summary>
 16    public const string DefaultHubName = "NotificationsHub";
 17
 18    /// <summary>
 19    /// The default description for the SignalR hub endpoint.
 20    /// </summary>
 21    public const string DefaultDescription = "Establishes a SignalR connection. The server may upgrade to WebSockets or 
 22
 23    /// <summary>
 24    /// The default summary for the SignalR hub endpoint.
 25    /// </summary>
 26    public const string DefaultSummary = "Notifications SignalR Hub";
 27
 28    /// <summary>
 29    /// The default OpenAPI tags for the SignalR hub endpoint.
 30    /// </summary>
 31    public const string DefaultTag = "SignalR";
 32    /// <summary>
 33    /// The path for the SignalR hub endpoint.
 34    /// </summary>
 035    public string Path { get; set; } = DefaultPath;
 36
 37    /// <summary>
 38    /// Customization options for the OpenAPI metadata generated for the SignalR hub endpoint.
 39    /// </summary>
 040    public string[] DocId { get; set; } = OpenApi.OpenApiDocDescriptor.DefaultDocumentationIds;
 41
 42    /// <summary>
 43    /// Gets a default configuration for the SignalR hub OpenAPI metadata.
 44    /// </summary>
 045    public static SignalROptions Default { get; } = new();
 46
 47    /// <summary>
 48    /// OpenAPI summary for the endpoint.
 49    /// </summary>
 050    public string? Summary { get; init; } = DefaultSummary;
 51
 52    /// <summary>
 53    /// OpenAPI description for the endpoint.
 54    /// </summary>
 055    public string? Description { get; init; } = DefaultDescription;
 56
 57    /// <summary>
 58    /// Name of the SignalR hub.
 59    /// </summary>
 060    public string? HubName { get; init; } = DefaultHubName;
 61
 62    /// <summary>
 63    /// OpenAPI tags for the endpoint.
 64    /// </summary>
 065    public IEnumerable<string> Tags { get; init; } = [DefaultTag];
 66
 67    /// <summary>
 68    /// If true, the OpenAPI documentation for this endpoint will be skipped.
 69    /// </summary>
 070    public bool SkipOpenApi { get; set; }
 71
 72    /// <summary>
 73    /// If true, includes the SignalR negotiate endpoint in OpenAPI documentation.
 74    /// </summary>
 075    public bool IncludeNegotiateEndpoint { get; set; } = false;
 76}