public void TestIsAuthorized_NoMatch()
        {
            // arrange
            var claims = new List <Claim> {
                new Claim("DisplayName", "DisplayName"),
                new Claim("UserName", "UserName"),
                new Claim("Email", "Email"),
                new Claim("UserId", "UserId"),
                new Claim("Claims", "b|http://b|role1;role2"),
            };
            var             identity  = new ClaimsIdentity(claims);
            ClaimsPrincipal principal = new ClaimsPrincipal(identity);
            var             claim     = new api.Claim {
                Name  = "a",
                Url   = "http://a",
                Roles = new string[] { "role1" },
            };

            // act
            var authPrinicpal = Authorization.IsAuthorized(principal, claim, "issuer");

            // assert
            authPrinicpal
            .Should()
            .BeNull();
        }
        public void TestIsAuthorized_PathAndTrailingSlash()
        {
            // arrange
            var claims = new List <Claim> {
                new Claim("DisplayName", "DisplayName"),
                new Claim("UserName", "UserName"),
                new Claim("Email", "Email"),
                new Claim("UserId", "UserId"),
                new Claim("Claims", "a|http://a/path/|role1;role2"),
            };
            var             identity  = new ClaimsIdentity(claims);
            ClaimsPrincipal principal = new ClaimsPrincipal(identity);
            var             claim     = new api.Claim {
                Name  = "a",
                Url   = "http://a/path",
                Roles = new string[] { "role1" },
            };

            // act
            var authPrinicpal = Authorization.IsAuthorized(principal, claim, "issuer");

            // assert
            authPrinicpal
            .Should()
            .NotBeNull();
            authPrinicpal.Identity.AuthenticationType
            .Should()
            .Be("JWT");
            authPrinicpal.Claims
            .Should()
            .HaveCount(7);
            authPrinicpal.Claims
            .Should()
            .Contain(x => x.Type == "DisplayName" && x.Value == "DisplayName");
            authPrinicpal.Claims
            .Should()
            .Contain(x => x.Type == "UserName" && x.Value == "UserName");
        }