Example #1
0
        public void RBAC_UserRole_GetRoleListTest()
        {
            this._controller = DomainControllerFactory.Create <UserRoleController>();

            var userRoleRepository = RepositoryFacade.ResolveInstance <UserRoleRepository>();
            var userRepository     = RepositoryFacade.ResolveInstance <UserRepository>();
            var roleRepository     = RepositoryFacade.ResolveInstance <RoleRepository>();

            using (RepositoryFacade.TransactionScope(userRoleRepository))
            {
                var user = new User {
                    Id = 1, UserName = "******", RealName = "Test_001", Email = "*****@*****.**", PhoneNumber = "18666666666"
                };
                var role = new Role {
                    Id = 1, Code = Guid.NewGuid().ToString("N"), Description = "", Name = "管理员"
                };

                userRepository.Save(user);
                roleRepository.Save(role);
                userRoleRepository.Save(new UserRole {
                    User = user, Role = role
                });

                var roleList = roleRepository.GetRoleByUserId(user.Id);

                Assert.IsNotNull(roleList);
                Assert.IsTrue(roleList.Count == 1);
            }
        }
Example #2
0
        public void RBAC_GetPermissionEntry_Success()
        {
            var repo = RepositoryFacade.ResolveInstance <GroupRepository>();

            using (RepositoryFacade.TransactionScope(repo))
            {
                var controller = new PermissionFacadeController();
                Assert.IsNotNull(controller.GetPermissionEntry(1));
            }
        }
Example #3
0
        public void RBAC_Role_GetResourceOperation()
        {
            var repo = RepositoryFacade.ResolveInstance <ResourceOperationRepository>();

            using (RepositoryFacade.TransactionScope(repo))
            {
                var tuple = RBAC_InitRBAC();
                Assert.IsTrue(repo.GetByParentId(tuple.Item4.Id).Count == 2);
                Assert.IsTrue(repo.GetResourceOperation(tuple.Item1.Id, tuple.Item4.Id).Count == 1);
            }
        }
Example #4
0
        public void RBAC_Group_GetAllGroupList()
        {
            var repo = RepositoryFacade.ResolveInstance <GroupRepository>();

            using (RepositoryFacade.TransactionScope(repo))
            {
                RBAC_InitRBAC();
                var groupList = TreeHelper.ConvertToList <Group>(repo.GetAll());
                Assert.IsTrue(groupList.Count == 2);
            }
        }
Example #5
0
        public void RBAC_DataPermission_CurrentGroupDataPermisssion()
        {
            var repo = RepositoryFacade.ResolveInstance <TestDataPermissionRepository>();

            using (RepositoryFacade.TransactionScope(repo))
            {
                var tuple = RBAC_InitRBAC();
                using (DataPermissionFacade.EnableDataPermission(tuple.Item4))
                {
                    AccountContext.CurrentUser = tuple.Item1;
                    Assert.IsTrue(repo.GetAll().Count == 1);
                }
            }
        }
Example #6
0
        public void RBAC_Role_GetOperationByRole()
        {
            var repo = RepositoryFacade.ResolveInstance <RoleRepository>();

            using (RepositoryFacade.TransactionScope(repo))
            {
                var tuple = RBAC_InitRBAC();
                Assert.IsTrue(
                    RepositoryFacade.ResolveInstance <ResourceOperationRepository>()
                    .GetOperationByRoleList(new List <long> {
                    tuple.Item2.Id
                })
                    .Count == 1);
            }
        }
Example #7
0
        public void RBAC_Role_SetRoleOperation()
        {
            var controller = DomainControllerFactory.Create <RoleController>();
            var repo       = RepositoryFacade.ResolveInstance <RoleOperationRepository>();

            using (RepositoryFacade.TransactionScope(repo))
            {
                var tuple    = RBAC_InitRBAC();
                var originId = repo.GetAll()[0].OperationId;
                var role     = tuple.Item2;
                var resource = tuple.Item4;
                var delopId  = Convert.ToInt64(resource.ResourceOperationList[1].Id);
                controller.SetRoleOperation(role.Id, new List <long> {
                    delopId
                });
                var savedId = repo.GetAll()[0].OperationId;
                Assert.AreNotEqual(originId, savedId);
            }
        }
Example #8
0
        public void RBAC_DataPermissionCu_rrentGroupAndLowerDataPermisssion()
        {
            var repo = RepositoryFacade.ResolveInstance <TestDataPermissionRepository>();

            using (RepositoryFacade.TransactionScope(repo))
            {
                var tuple = RBAC_InitRBAC();

                var role = new Role {
                    Name = "包含下级管理员", Code = "admin"
                };
                RepositoryFacade.Save(role);
                var userRole = new UserRole {
                    User = tuple.Item1, Role = role
                };
                RepositoryFacade.Save(userRole);

                var dataPermission1 = new DataPermission
                {
                    Resource = tuple.Item4,
                    Role     = role
                };
                dataPermission1.SetBuilder(new CurrentGroupPermissionConstraintBuilder
                {
                    IsIncludeChildGroup = true,
                    GroupIdProperty     = "GroupId"
                });
                RepositoryFacade.Save(dataPermission1);

                var testDataPermission = new TestDataPermission();
                testDataPermission.Group = tuple.Item3.TreeChildren[0] as Group;
                testDataPermission.Name  = "test";
                RepositoryFacade.Save(testDataPermission);

                using (DataPermissionFacade.EnableDataPermission(tuple.Item4))
                {
                    AccountContext.CurrentUser = tuple.Item1;
                    Assert.IsTrue(repo.GetAll().Count == 2);
                }
                Assert.IsTrue(repo.GetAll().Count == 2);
            }
        }
Example #9
0
        public void RBAC_UserRole_HasRoleTest()
        {
            this._controller = DomainControllerFactory.Create <UserRoleController>();

            var userRoleRepository = RepositoryFacade.ResolveInstance <UserRoleRepository>();
            var userRepository     = RepositoryFacade.ResolveInstance <UserRepository>();
            var roleRepository     = RepositoryFacade.ResolveInstance <RoleRepository>();

            using (RepositoryFacade.TransactionScope(userRepository))
            {
                var user = new User {
                    Id = 1, UserName = "******", RealName = "Test_001", Email = "*****@*****.**", PhoneNumber = "18666666666"
                };
                var role = new Role {
                    Id = 1, Code = Guid.NewGuid().ToString("N"), Description = "", Name = "管理员"
                };

                userRepository.Save(user);
                roleRepository.Save(role);
                userRoleRepository.Save(new UserRole {
                    User = user, Role = role
                });

                var result1 = this._controller.HasRole(new User {
                    Id = user.Id
                }, new Role {
                    Id = role.Id
                });
                var result2 = this._controller.HasRole(new User {
                    Id = user.Id
                }, new Role {
                    Id = role.Id + 1L
                });

                Assert.IsTrue(result1);
                Assert.IsFalse(result2);
            }
        }