Exemple #1
0
        public async Task ShouldFailWithoutExpectedClaim()
        {
            var requirement = new ClaimsAuthorizationRequirement("asdf", new [] { "hi" });
            var context     = new AuthorizationHandlerContext(new[] { requirement }, new ClaimsPrincipal(), null);
            await requirement.HandleAsync(context);

            Assert.IsFalse(context.HasSucceeded);
        }
Exemple #2
0
        public async Task AllowedValuesShouldBeCaseSensitive()
        {
            const string test        = "test";
            var          requirement = new ClaimsAuthorizationRequirement("asdf", new [] { test });

            await AssertClaimValueAffectsSuccess(test, requirement, true);
            await AssertClaimValueAffectsSuccess(test.ToUpper(), requirement, false);
        }
Exemple #3
0
        public async Task HandleAsyncShouldFailWhenUserIsNull()
        {
            var requirement = new ClaimsAuthorizationRequirement("asdf", null);
            var context     = new AuthorizationHandlerContext(new [] { requirement }, null, null);
            await requirement.HandleAsync(context);

            Assert.IsFalse(context.HasSucceeded);
        }
Exemple #4
0
        private static async Task AssertMissingAllowedValuesShouldSucceed(ClaimsAuthorizationRequirement requirement)
        {
            Assert.IsNotNull(requirement);

            var context = new AuthorizationHandlerContext(new [] { requirement }, UserWithClaim(requirement.ClaimType), null);
            await requirement.HandleAsync(context);

            Assert.IsTrue(context.HasSucceeded, "context.HasSucceeded");
        }
Exemple #5
0
        private static async Task AssertClaimValueAffectsSuccess(string claimValue, ClaimsAuthorizationRequirement requirement, bool shouldSucceed)
        {
            var identity = new ClaimsIdentity(new[] { new Claim(requirement.ClaimType, claimValue) });
            var user     = new ClaimsPrincipal(identity);

            var context = new AuthorizationHandlerContext(new[] { requirement }, user, null);
            await requirement.HandleAsync(context);

            Assert.AreEqual(shouldSucceed, context.HasSucceeded);
        }
Exemple #6
0
        public async Task DifferentAllowedValuesShouldSucceed()
        {
            var values = new List <string>()
            {
                "hi", "test"
            };
            var requirement = new ClaimsAuthorizationRequirement("asdf", values);

            foreach (var value in values)
            {
                await AssertClaimValueAffectsSuccess(value, requirement, true);
            }

            await AssertClaimValueAffectsSuccess("fdsa", requirement, false);
        }
Exemple #7
0
 public async Task HandleAsyncShouldThrowWhenPassedNullContext()
 {
     var requirement = new ClaimsAuthorizationRequirement("asdf", new string[0]);
     await requirement.HandleAsync(null);
 }
Exemple #8
0
        public async Task EmptyAllowedValuesShouldSucceed()
        {
            var requirement = new ClaimsAuthorizationRequirement("asdf", new List <string>());

            await AssertMissingAllowedValuesShouldSucceed(requirement);
        }
Exemple #9
0
        public async Task NullAllowedValuesShouldSucceed()
        {
            var requirement = new ClaimsAuthorizationRequirement("asdf", null);

            await AssertMissingAllowedValuesShouldSucceed(requirement);
        }
Exemple #10
0
 public async Task HandleProtectedAsync(AuthorizationHandlerContext context, ClaimsAuthorizationRequirement requirement)
 {
     await HandleRequirementAsync(context, requirement);
 }
Exemple #11
0
 public void HandleProtected(AuthorizationContext context, ClaimsAuthorizationRequirement requirement)
 {
     Handle(context, requirement);
 }