J'ai une politique que je veux tester en C#Est-il possible d'écrire un test capable de tester un objet AuthorizationPolicy?
public class WorkflowCreatePolicy
{
public AuthorizationPolicy AuthorizationPolicy =>
new AuthorizationPolicyBuilder()
.RequireClaim("scope", "WorkflowAdmin")
.Build();
}
Quelqu'un connaît un moyen de tester la AuthorizationPolicy pour confirmer que la portée « WorkflowAdmin » est un succès et tous les autres ne sont pas?
C'est ce que je vois quand je visite l'objet:
J'ai réussi à trouver ce site: Authorization Handler Unit Tests mais son parler de tester les gestionnaires et a le code qui marque la tentative auth le succès .
Je ne suis pas sûr si cela se rapproche ou non. Actuellement, il ne passe pas
[Test]
public void GivenPolicyName_WhenICallPolicyChecks_ThenItPasses()
{
ClaimsPrincipal user = new ClaimsPrincipal(new ClaimsIdentity(new List<Claim> { new Claim(CustomClaims.Scope, "WorkflowAdmin") }));
WorkflowCreatePolicy workflowCreatePolicy = new WorkflowCreatePolicy();
AuthorizationHandlerContext authorizationHandlerContext = new AuthorizationHandlerContext(workflowCreatePolicy.AuthorizationPolicy.Requirements, user, null);
Assert.That(authorizationHandlerContext.HasSucceeded, Is.EqualTo(true));
}