コード例 #1
0
        public void Can_persist_preconfigured_permissions()
        {
            var sut = new UserAuthRepoFixtureBuilder()
                      .WithUsers(
                new UserAuth()
            {
                Id          = 5,
                UserName    = "******",
                Permissions = new[] { "perm1", "perm2", "perm3" }.ToList()
            }, new UserAuth()
            {
                Id          = 2,
                UserName    = "******",
                Permissions = new[] { "perm3" }.ToList()
            }
                )
                      .Build();

            var result                = sut.HasPermission("5", "perm2");
            var invalidPermission     = sut.HasPermission("5", "perm4");
            var invalidUserPermission = sut.HasPermission("2", "perm2");

            Assert.True(result);
            Assert.False(invalidPermission);
            Assert.False(invalidUserPermission);
        }
コード例 #2
0
        public void Can_unassign_permissions()
        {
            var sut = new UserAuthRepoFixtureBuilder()
                      .WithUsers(
                new UserAuth()
            {
                Id          = 5,
                UserName    = "******",
                Permissions = new[] { "perm1", "perm3" }.ToList()
            }, new UserAuth()
            {
                Id          = 2,
                UserName    = "******",
                Permissions = new[] { "perm3" }.ToList()
            }
                )
                      .Build();

            sut.AssignRoles("5", permissions: new[] { "perm3" });
            sut.UnAssignRoles("5", permissions: new[] { "perm2", "perm1" });
            sut.UnAssignRoles("2", permissions: new[] { "perm3" });

            var hasRemovedPermission1  = sut.HasPermission("5", "perm2");
            var hasRemovedPermission2  = sut.HasPermission("5", "perm1");
            var hasUnremovedPermission = sut.HasPermission("5", "perm3");

            Assert.True(hasUnremovedPermission);
            Assert.False(hasRemovedPermission1);
            Assert.False(hasRemovedPermission2);

            Assert.False(sut.HasPermission("2", "perm3"));
        }