Exemple #1
0
            public async Task OneDepartmentPermission_ReturnsForCompany()
            {
                int unitId       = 99;
                int departmentId = 88;
                int userId       = 1;

                A.CallTo(() => PermissionService.GetImplicitByUnitType(UnitType.Master)).Returns(new List <PermissionType> {
                    PermissionType.EndreKompetanseType
                });
                A.CallTo(() => AuthorizationQueries.GetUnitPermissionsByUserId(A <int> .Ignored, A <int?> .Ignored, A <PermissionType[]> .Ignored)).Returns(new List <UnitPermission> {
                    new UnitPermission {
                        UnitId = departmentId, PermissionType = PermissionType.LesNyheter
                    }
                });
                A.CallTo(() => UnitQueries.GetByIdList(A <IEnumerable <int> > .Ignored)).Returns(new List <UnitWithParent> {
                    new UnitWithParent {
                        Id = departmentId, ParentId = unitId, Type = UnitType.Department
                    }
                });
                A.CallTo(() => PermissionService.GetByUnitType(UnitType.Department)).Returns(new List <PermissionType>());
                A.CallTo(() => UnitQueries.GetHierarchyUp(departmentId)).Returns(new List <UnitWithParent> {
                    new UnitWithParent {
                        Id = unitId, ParentId = null, Type = UnitType.Company
                    }
                });

                var list = await AuthorizationService.GetUnitPermissions(userId, null, PermissionType.EndreKompetanseType);

                Assert.That(list != null && list.Count() == 2);
                Assert.That(list.First().PermissionType == PermissionType.EndreKompetanseType && list.First().UnitId == UnitConstants.MasterUnitId);
                Assert.That(list.Last().PermissionType == PermissionType.LesNyheter && list.Last().UnitId == unitId);
            }
Exemple #2
0
            public async Task NoPermissions_ReturnsImplicitMasterPermissions()
            {
                int userId = 1;

                A.CallTo(() => PermissionService.GetImplicitByUnitType(UnitType.Master)).Returns(new List <PermissionType> {
                    PermissionType.EndreKompetanseType
                });
                A.CallTo(() => AuthorizationQueries.GetUnitPermissionsByUserId(A <int> .Ignored, A <int?> .Ignored, A <PermissionType[]> .Ignored)).Returns(new List <UnitPermission>());

                var list = await AuthorizationService.GetUnitPermissions(userId, null, PermissionType.EndreKompetanseType);

                Assert.That(list != null && list.Count() == 1);
                Assert.That(list.Single().PermissionType == PermissionType.EndreKompetanseType && list.Single().UnitId == UnitConstants.MasterUnitId);
            }
Exemple #3
0
        /// <summary>
        /// Retrieve the role authorizations list
        /// </summary>
        /// <param name="id">Role id</param>
        /// <returns>Authorizations list</returns>
        public async Task <dynamic> GetAuthAsync(int id)
        {
            using (var connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                var result = await connection.QueryAsync <dynamic>(
                    "SELECT def_authorizations.Id as authId, Name AS name " +
                    "FROM IdentityContext.def_authorizations " +
                    "LEFT JOIN IdentityContext.role_authorizations ON " +
                    "def_authorizations.Id = role_authorizations.DefAuthorizationId " +
                    "WHERE role_authorizations.RoleId = @id ORDER BY Name", new { id });

                return(AuthorizationQueries.MapEntityAuthorizations(result));
            }
        }