![]() |
VOOZH | about |
dotnet add package Rig.TUnit.Security.Policies --version 0.1.0-beta.2
NuGet\Install-Package Rig.TUnit.Security.Policies -Version 0.1.0-beta.2
<PackageReference Include="Rig.TUnit.Security.Policies" Version="0.1.0-beta.2" />
<PackageVersion Include="Rig.TUnit.Security.Policies" Version="0.1.0-beta.2" />Directory.Packages.props
<PackageReference Include="Rig.TUnit.Security.Policies" />Project file
paket add Rig.TUnit.Security.Policies --version 0.1.0-beta.2
#r "nuget: Rig.TUnit.Security.Policies, 0.1.0-beta.2"
#:package Rig.TUnit.Security.Policies@0.1.0-beta.2
#addin nuget:?package=Rig.TUnit.Security.Policies&version=0.1.0-beta.2&prereleaseInstall as a Cake Addin
#tool nuget:?package=Rig.TUnit.Security.Policies&version=0.1.0-beta.2&prereleaseInstall as a Cake Tool
Policy-based authorisation testing — real
IAuthorizationServicein-process so productionAuthorizationHandler<T>runs unchanged.
Runs your ASP.NET Core AuthorizationHandler<TRequirement>
implementations inside a real IAuthorizationService — no test bypass,
no [AllowAnonymous] shortcut. PolicyFixture constructs the DI
container with policies you declare, and PolicyAssert.Policy(…).Allows (principal) / .Denies(principal) executes the full pipeline and
asserts the decision.
AuthorizationHandler<T> behaviour end-to-end.Rig.TUnit.WebAPI and
send real requests.Microsoft.AspNetCore.Authorization).using System.Security.Claims;
using Rig.TUnit.Security.Policies.Fixtures;
await using var fx = new PolicyFixture(
new PolicyFixtureOptions(),
policies => policies.AddPolicy("AdminOnly", p => p.RequireRole("admin")));
await fx.InitializeAsync();
| Property | Type | Default | Description |
|---|---|---|---|
DefaultScheme |
string |
"Test" |
Scheme name surfaced on the fixture's ConnectionString |
RequiredClaims |
string[] |
[] |
Claims auto-asserted on every principal |
LogDecisions |
bool |
false |
Emit structured log per allow/deny |
Rig.TUnit.Security.Policies.Fixtures.PolicyFixtureRig.TUnit.Security.Policies.Options.PolicyFixtureOptionsRig.TUnit.Security.Policies.Builder.PoliciesRigBuilderRig.TUnit.Security.Policies.Assertions.PolicyAssertPolicyFixture owns its DI container per-test; policies registered in
one fixture do not leak into another. Safe under full parallelism.
IAuthorizationService.AuthorizeAsync).AuthorizationResult.Failed on an expected-allow — confirm the
ClaimsPrincipal has a non-null IsAuthenticated identity; anonymous
principals fail most policies.RequireAssertion or
RequireRole is on the policy; a policy without any requirement
succeeds by default.See .
AuthorizationOptions.DefaultPolicy is respected — tests without an
explicit policy fall through to it.AuthorizationHandler<T> for the same requirement all run;
any context.Succeed(…) grants — tests asserting "no handler ran"
must track this carefully.See ;
baseline in benchmarks/baseline-005.json.
MIT. See .
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 1 NuGet packages that depend on Rig.TUnit.Security.Policies:
| Package | Downloads |
|---|---|
|
Rig.TUnit.All
Meta-package containing every Rig.TUnit.* package. DISCOURAGED — prefer per-feature or per-stack meta-packages (Rig.TUnit, Rig.TUnit.Microservices). |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-beta.2 | 71 | 4/27/2026 |
| 0.0.0-alpha.0.14 | 77 | 4/26/2026 |