private IList <Role> AddExistingRoles(string securableItemName) { var role1 = new Role { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, SecurableItem = securableItemName, Name = "role1" + Guid.NewGuid() }; var role2 = new Role { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, SecurableItem = securableItemName, Name = "role2" + Guid.NewGuid() }; var role3 = new Role { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, SecurableItem = "sourcemartdesigner", Name = "role3" + Guid.NewGuid() }; var role4 = new Role { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, SecurableItem = securableItemName, Name = "role4" + Guid.NewGuid() }; ExistingRoles.Add(role1); ExistingRoles.Add(role2); ExistingRoles.Add(role3); ExistingRoles.Add(role4); return(new List <Role> { role1, role2, role3, role4 }); }
private void SetupTestData() { var adminGroup = new Group { Id = @"Fabric\Health Catalyst Admin", Name = @"Fabric\Health Catalyst Admin" }; var contributorGroup = new Group { Id = @"Fabric\Health Catalyst Contributor", Name = @"Fabric\Health Catalyst Contributor" }; var customGroup = new Group { Id = "Custom Group", Name = "Custom Group" }; _existingGroups = new List <Group> { adminGroup, contributorGroup, customGroup }; _existingUsers = new List <User> { new User("user123", "Windows") { Groups = new List <string> { customGroup.Name } } }; var contributorRole = new Role { Id = Guid.NewGuid(), Grain = "app", SecurableItem = "patientsafety", Name = "contributor" }; var customGroupRole = new Role { Id = Guid.NewGuid(), Grain = "app", SecurableItem = "patientsafety", Name = "custom" }; ExistingRoles.Add(contributorRole); ExistingRoles.Add(customGroupRole); var adminRole = ExistingRoles.First(r => r.Grain == "app" && r.SecurableItem == "patientsafety" && r.Name == "admin"); adminGroup.Roles.Add(adminRole); adminGroup.Roles.Add(contributorRole); contributorGroup.Roles.Add(contributorRole); customGroup.Roles.Add(customGroupRole); adminRole.Groups.Add(adminGroup.Identifier); contributorRole.Groups.Add(adminGroup.Identifier); contributorRole.Groups.Add(contributorGroup.Identifier); customGroupRole.Groups.Add(customGroup.Identifier); var manageUsersPermission = ExistingPermissions.First(p => p.Grain == adminRole.Grain && p.SecurableItem == adminRole.SecurableItem && p.Name == "manageusers"); var updatePatientPermission = ExistingPermissions.First(p => p.Grain == adminRole.Grain && p.SecurableItem == adminRole.SecurableItem && p.Name == "updatepatient"); ExistingPermissions.Add(new Permission { Id = Guid.NewGuid(), Grain = "app", SecurableItem = "patientsafety", Name = "custom" }); var customPermission = ExistingPermissions.First(p => p.Grain == "app" && p.SecurableItem == "patientsafety" && p.Name == "custom"); adminRole.Permissions.Add(manageUsersPermission); contributorRole.Permissions.Add(updatePatientPermission); customGroupRole.Permissions.Add(customPermission); }