コード例 #1
0
        public void RequiresClaimWithValues_UserClaimWithAllValues_ReturnsContinue()
        {
            var attr        = new RequiresClaimWithValuesAttribute("a", "1", "2", "3");
            var user        = UserSetup.GetUserWithClaims("a:1", "a:2", "a:3");
            var httpContext = new Fakes.FakeHttpContext();

            httpContext.User = user;
            var shouldContinue = attr.ShouldContinue(httpContext);

            Assert.True(shouldContinue.ShouldContinue);
        }
コード例 #2
0
        public void RequiresClaimWithValues_UserClaimWithSomeValues_ReturnsUnauthorized()
        {
            var attr        = new RequiresClaimWithValuesAttribute("a", "1", "2", "3");
            var user        = UserSetup.GetUserWithClaims("a:1", "a:2");
            var httpContext = new Fakes.FakeHttpContext();

            httpContext.User = user;
            var shouldContinue = attr.ShouldContinue(httpContext);

            Assert.False(shouldContinue.ShouldContinue);
            Assert.Equal(ApiFilterRunResult.Unauthorized.SetResponseCode, shouldContinue.SetResponseCode);
        }
コード例 #3
0
        public void RequiresClaimWithValues_UnauthenticatedUser_ReturnsUnauthenticated()
        {
            var attr        = new RequiresClaimWithValuesAttribute("a", "1", "2", "3");
            var user        = new ClaimsPrincipal();
            var httpContext = new Fakes.FakeHttpContext();

            httpContext.User = user;
            var shouldContinue = attr.ShouldContinue(httpContext);

            Assert.False(shouldContinue.ShouldContinue);
            Assert.Equal(ApiFilterRunResult.Unauthenticated.SetResponseCode, shouldContinue.SetResponseCode);
        }
コード例 #4
0
        public void RequiresClaimWithValues_ClaimValuesContainsNull_ThrowsException()
        {
            bool error = false;

            try
            {
                var a = new RequiresClaimWithValuesAttribute("a", "a", "b", null);
            }
            catch (ArgumentException)
            {
                error = true;
            }
            Assert.True(error);
        }
コード例 #5
0
        public void RequiresClaimWithValues_ClaimTypeWhiteSpace_ThrowsException()
        {
            bool error = false;

            try
            {
                var a = new RequiresClaimWithValuesAttribute("   ", "a", "b", "c");
            }
            catch (ArgumentException)
            {
                error = true;
            }
            Assert.True(error);
        }