Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Added VulnTokenSigner for signing JWT tokens with specified algorithms and keys. - Introduced VulnTokenUtilities for resolving tenant and subject claims, and sanitizing context dictionaries. - Created VulnTokenVerificationUtilities for parsing tokens, verifying signatures, and deserializing payloads. - Developed VulnWorkflowAntiForgeryTokenIssuer for issuing anti-forgery tokens with configurable options. - Implemented VulnWorkflowAntiForgeryTokenVerifier for verifying anti-forgery tokens and validating payloads. - Added AuthorityVulnerabilityExplorerOptions to manage configuration for vulnerability explorer features. - Included tests for FilesystemPackRunDispatcher to ensure proper job handling under egress policy restrictions.
101 lines
4.4 KiB
C#
101 lines
4.4 KiB
C#
using StellaOps.Auth.Abstractions;
|
|
using Xunit;
|
|
|
|
namespace StellaOps.Auth.Abstractions.Tests;
|
|
|
|
#pragma warning disable CS0618
|
|
|
|
public class StellaOpsScopesTests
|
|
{
|
|
[Theory]
|
|
[InlineData(StellaOpsScopes.AdvisoryRead)]
|
|
[InlineData(StellaOpsScopes.AdvisoryIngest)]
|
|
[InlineData(StellaOpsScopes.AdvisoryAiView)]
|
|
[InlineData(StellaOpsScopes.AdvisoryAiOperate)]
|
|
[InlineData(StellaOpsScopes.AdvisoryAiAdmin)]
|
|
[InlineData(StellaOpsScopes.VexRead)]
|
|
[InlineData(StellaOpsScopes.VexIngest)]
|
|
[InlineData(StellaOpsScopes.AocVerify)]
|
|
[InlineData(StellaOpsScopes.SignalsRead)]
|
|
[InlineData(StellaOpsScopes.SignalsWrite)]
|
|
[InlineData(StellaOpsScopes.SignalsAdmin)]
|
|
[InlineData(StellaOpsScopes.AirgapSeal)]
|
|
[InlineData(StellaOpsScopes.AirgapImport)]
|
|
[InlineData(StellaOpsScopes.AirgapStatusRead)]
|
|
[InlineData(StellaOpsScopes.PolicyWrite)]
|
|
[InlineData(StellaOpsScopes.PolicyAuthor)]
|
|
[InlineData(StellaOpsScopes.PolicySubmit)]
|
|
[InlineData(StellaOpsScopes.PolicyApprove)]
|
|
[InlineData(StellaOpsScopes.PolicyReview)]
|
|
[InlineData(StellaOpsScopes.PolicyOperate)]
|
|
[InlineData(StellaOpsScopes.PolicyPublish)]
|
|
[InlineData(StellaOpsScopes.PolicyPromote)]
|
|
[InlineData(StellaOpsScopes.PolicyAudit)]
|
|
[InlineData(StellaOpsScopes.PolicyRun)]
|
|
[InlineData(StellaOpsScopes.PolicySimulate)]
|
|
[InlineData(StellaOpsScopes.FindingsRead)]
|
|
[InlineData(StellaOpsScopes.EffectiveWrite)]
|
|
[InlineData(StellaOpsScopes.GraphRead)]
|
|
[InlineData(StellaOpsScopes.VulnView)]
|
|
[InlineData(StellaOpsScopes.VulnInvestigate)]
|
|
[InlineData(StellaOpsScopes.VulnOperate)]
|
|
[InlineData(StellaOpsScopes.VulnAudit)]
|
|
[InlineData(StellaOpsScopes.VulnRead)]
|
|
[InlineData(StellaOpsScopes.GraphWrite)]
|
|
[InlineData(StellaOpsScopes.GraphExport)]
|
|
[InlineData(StellaOpsScopes.GraphSimulate)]
|
|
[InlineData(StellaOpsScopes.OrchRead)]
|
|
[InlineData(StellaOpsScopes.OrchOperate)]
|
|
[InlineData(StellaOpsScopes.OrchBackfill)]
|
|
[InlineData(StellaOpsScopes.OrchQuota)]
|
|
[InlineData(StellaOpsScopes.ExportViewer)]
|
|
[InlineData(StellaOpsScopes.ExportOperator)]
|
|
[InlineData(StellaOpsScopes.ExportAdmin)]
|
|
[InlineData(StellaOpsScopes.NotifyViewer)]
|
|
[InlineData(StellaOpsScopes.NotifyOperator)]
|
|
[InlineData(StellaOpsScopes.NotifyAdmin)]
|
|
[InlineData(StellaOpsScopes.NotifyEscalate)]
|
|
[InlineData(StellaOpsScopes.PacksRead)]
|
|
[InlineData(StellaOpsScopes.PacksWrite)]
|
|
[InlineData(StellaOpsScopes.PacksRun)]
|
|
[InlineData(StellaOpsScopes.PacksApprove)]
|
|
[InlineData(StellaOpsScopes.ObservabilityRead)]
|
|
[InlineData(StellaOpsScopes.TimelineRead)]
|
|
[InlineData(StellaOpsScopes.TimelineWrite)]
|
|
[InlineData(StellaOpsScopes.EvidenceCreate)]
|
|
[InlineData(StellaOpsScopes.EvidenceRead)]
|
|
[InlineData(StellaOpsScopes.EvidenceHold)]
|
|
[InlineData(StellaOpsScopes.AttestRead)]
|
|
[InlineData(StellaOpsScopes.ObservabilityIncident)]
|
|
[InlineData(StellaOpsScopes.AuthorityTenantsRead)]
|
|
public void All_IncludesNewScopes(string scope)
|
|
{
|
|
Assert.Contains(scope, StellaOpsScopes.All);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("Advisory:Read", StellaOpsScopes.AdvisoryRead)]
|
|
[InlineData(" VEX:Ingest ", StellaOpsScopes.VexIngest)]
|
|
[InlineData("AOC:VERIFY", StellaOpsScopes.AocVerify)]
|
|
[InlineData(" Signals:Write ", StellaOpsScopes.SignalsWrite)]
|
|
[InlineData("AIRGAP:SEAL", StellaOpsScopes.AirgapSeal)]
|
|
[InlineData("Policy:Author", StellaOpsScopes.PolicyAuthor)]
|
|
[InlineData("Policy:Publish", StellaOpsScopes.PolicyPublish)]
|
|
[InlineData("Policy:PROMOTE", StellaOpsScopes.PolicyPromote)]
|
|
[InlineData("Export.Admin", StellaOpsScopes.ExportAdmin)]
|
|
[InlineData("Advisory-AI:Operate", StellaOpsScopes.AdvisoryAiOperate)]
|
|
[InlineData("Notify.Admin", StellaOpsScopes.NotifyAdmin)]
|
|
[InlineData("Packs.Run", StellaOpsScopes.PacksRun)]
|
|
[InlineData("Packs.Approve", StellaOpsScopes.PacksApprove)]
|
|
[InlineData("Notify.Escalate", StellaOpsScopes.NotifyEscalate)]
|
|
[InlineData("VULN:VIEW", StellaOpsScopes.VulnView)]
|
|
[InlineData("VULN:INVESTIGATE", StellaOpsScopes.VulnInvestigate)]
|
|
[InlineData("VULN:OPERATE", StellaOpsScopes.VulnOperate)]
|
|
[InlineData("VULN:AUDIT", StellaOpsScopes.VulnAudit)]
|
|
public void Normalize_NormalizesToLowerCase(string input, string expected)
|
|
{
|
|
Assert.Equal(expected, StellaOpsScopes.Normalize(input));
|
|
}
|
|
}
|
|
#pragma warning restore CS0618
|