public void TestCreateGetSimpleResourceAuthorizationsByPrincipalId_PrincipalDoesHaveNotRoles()
        {
            var principalId = 1;
            var principal   = new Principal
            {
                PrincipalId = principalId,
            };
            var resourceType = new ResourceType
            {
                ResourceTypeId   = ResourceType.Project.Id,
                ResourceTypeName = ResourceType.Project.Value
            };
            var resource = new Resource
            {
                ResourceId        = 1,
                ForeignResourceId = 2,
                ResourceTypeId    = resourceType.ResourceTypeId,
                ResourceType      = resourceType,
            };
            var permission = new Permission
            {
                PermissionId   = 1,
                PermissionName = "Permission"
            };
            var role = new Role
            {
                IsActive = true,
                RoleId   = 1,
                RoleName = "role name"
            };
            var principalRole = new PrincipalRole
            {
                RoleId      = role.RoleId,
                Role        = role,
                Principal   = principal,
                PrincipalId = principal.PrincipalId
            };
            var roleResourcePermission = new RoleResourcePermission
            {
                Permission   = permission,
                PermissionId = permission.PermissionId,
                Resource     = resource,
                ResourceId   = resource.ResourceId,
                Role         = role,
                RoleId       = role.RoleId
            };

            context.Principals.Add(principal);
            context.ResourceTypes.Add(resourceType);
            context.Resources.Add(resource);
            context.Permissions.Add(permission);
            context.Roles.Add(role);
            context.PrincipalRoles.Add(principalRole);
            context.RoleResourcePermissions.Add(roleResourcePermission);

            var results = UserQueries.CreateGetSimpleResourceAuthorizationsByPrincipalId(context, principalId + 1).ToList();

            Assert.AreEqual(0, results.Count);
        }
Exemple #2
0
 private bool Equals(Role role, PrincipalRole principalRole)
 {
     return(DomainObjectHandleComparer.Instance.Equals(role.Position, principalRole.Position) &&
            DomainObjectHandleComparer.Instance.Equals(role.Group, principalRole.Group));
 }
        public void TestCreateGetSimpleResourceAuthorizationsByPrincipalId_PrincipalHasRoleAndPermissionAssignment_RoleIsInactive_PermissionIsNotAllowed()
        {
            var principalId = 1;
            var principal   = new Principal
            {
                PrincipalId = principalId,
            };
            var resourceType = new ResourceType
            {
                ResourceTypeId   = ResourceType.Project.Id,
                ResourceTypeName = ResourceType.Project.Value
            };
            var resource = new Resource
            {
                ResourceId        = 1,
                ForeignResourceId = 2,
                ResourceTypeId    = resourceType.ResourceTypeId,
                ResourceType      = resourceType,
            };
            var permission = new Permission
            {
                PermissionId   = 1,
                PermissionName = "Permission"
            };
            var role = new Role
            {
                IsActive = false,
                RoleId   = 1,
                RoleName = "role name"
            };
            var principalRole = new PrincipalRole
            {
                RoleId      = role.RoleId,
                Role        = role,
                Principal   = principal,
                PrincipalId = principal.PrincipalId
            };
            var roleResourcePermission = new RoleResourcePermission
            {
                Permission   = permission,
                PermissionId = permission.PermissionId,
                Resource     = resource,
                ResourceId   = resource.ResourceId,
                Role         = role,
                RoleId       = role.RoleId
            };
            var permissionAssignment = new PermissionAssignment
            {
                IsAllowed    = false,
                Permission   = permission,
                PermissionId = permission.PermissionId,
                Principal    = principal,
                Resource     = resource,
                ResourceId   = resource.ResourceId,
                PrincipalId  = principal.PrincipalId,
            };

            context.Principals.Add(principal);
            context.ResourceTypes.Add(resourceType);
            context.Resources.Add(resource);
            context.Permissions.Add(permission);
            context.Roles.Add(role);
            context.PrincipalRoles.Add(principalRole);
            context.RoleResourcePermissions.Add(roleResourcePermission);
            context.PermissionAssignments.Add(permissionAssignment);

            var results = UserQueries.CreateGetSimpleResourceAuthorizationsByPrincipalId(context, principalId).ToList();

            Assert.AreEqual(1, results.Count);
            var firstResult = results.First();

            Assert.AreEqual(principal.PrincipalId, firstResult.PrincipalId);
            Assert.AreEqual(permission.PermissionId, firstResult.PermissionId);
            Assert.AreEqual(resource.ResourceId, firstResult.ResourceId);
            Assert.AreEqual(resource.ForeignResourceId, firstResult.ForeignResourceId);
            Assert.IsFalse(firstResult.IsAllowed);
        }