public List <PermissionModel> GetAllPermissions([FromBody] FindPermissionsRequestModel requestModel)
        {
            var permissions      = new List <PermissionModel>();
            var existingArtifact = Context.Artifacts.Include(r => r.Permissions).FirstOrDefault(r => r.ArtifactId == requestModel.ArtifactId);

            if (existingArtifact == null)
            {
                return(permissions);
            }

            foreach (var permission in existingArtifact.Permissions)
            {
                var role = Context.Roles.FirstOrDefault(r => r.RoleId == permission.RoleId);

                if (role == null)
                {
                    continue;
                }

                permissions.Add(new PermissionModel
                {
                    ArtifactId   = existingArtifact.ArtifactId,
                    PermissionId = permission.PermissionId,
                    RoleName     = role.RoleName
                });
            }

            return(permissions);
        }
        public void GetAll_PermissionsList()
        {
            var resources = new Resources();

            using (resources.DbContext.Database.BeginTransaction())
            {
                // Given
                TestHelper.RemoveRoles(resources.DbContext);
                var roleOne       = TestHelper.CreateRole(resources.DbContext);
                var roleTwo       = TestHelper.CreateRole(resources.DbContext);
                var artifact      = TestHelper.CreateArtifact(resources.DbContext);
                var permissionOne = TestHelper.CreatePermission(resources.DbContext, artifact, roleOne.RoleId);
                var permissionTwo = TestHelper.CreatePermission(resources.DbContext, artifact, roleTwo.RoleId);

                var requestModel = new FindPermissionsRequestModel {
                    ArtifactId = artifact.ArtifactId
                };

                // When
                var result = resources.GuiController.GetAllPermissions(requestModel);

                // Then
                Assert.IsNotNull(result);
                Assert.AreEqual(2, result.Count);

                // validate Role Names of the resultset
                Assert.IsTrue(result.Any(r => r.RoleName == roleOne.RoleName));
                Assert.IsTrue(result.Any(r => r.RoleName == roleTwo.RoleName));

                // validate permissionId
                Assert.IsTrue(result.Any(r => r.PermissionId == permissionOne.PermissionId));
                Assert.IsTrue(result.Any(r => r.PermissionId == permissionTwo.PermissionId));

                Assert.IsTrue(result.Any(r => r.ArtifactId == permissionOne.ArtifactId));
                Assert.IsTrue(result.Any(r => r.ArtifactId == permissionTwo.ArtifactId));
            }
        }
Пример #3
0
        public void GetPermissions()
        {
            // Given
            var resources    = new Resources();
            var requestModel = new FindPermissionsRequestModel {
                ArtifactId = 1
            };
            var members = new List <PermissionModel>();

            members.Add(new PermissionModel {
                PermissionId = 1, ArtifactId = 1, RoleName = "Administrator"
            });
            members.Add(new PermissionModel {
                PermissionId = 2, ArtifactId = 1, RoleName = "Operations"
            });
            members.Add(new PermissionModel {
                PermissionId = 3, ArtifactId = 1, RoleName = "Programmer"
            });
            members.Add(new PermissionModel {
                PermissionId = 4, ArtifactId = 1, RoleName = "Vetting Clerk"
            });

            resources.MockApiCaller.AddMockResponse("WebApi:Permissions:Find", requestModel, members);

            // When
            var result = resources.Controller.GetPermissions(requestModel) as JsonResult;

            // Then
            Assert.IsNotNull(result);

            var resultModel = result.Value as List <PermissionModel>;

            Assert.IsNotNull(resultModel);
            Assert.AreEqual(4, resultModel.Count);
            Assert.IsTrue(resultModel.All(m => m.ArtifactId == requestModel.ArtifactId));
        }
 public JsonResult GetPermissions(FindPermissionsRequestModel requestModel)
 {
     return(Json(WebApiCaller.PostAsync <List <PermissionModel> >("WebApi:Permissions:Find", requestModel)));
 }