use of io.lumeer.api.model.Group in project engine by Lumeer.
the class TaskProcessingFacadeIT method configureProject.
@Before
public void configureProject() {
this.user = userDao.createUser(new User(USER));
this.stranger = userDao.createUser(new User(STRANGER_USER));
userPermissions = Permission.buildWithRoles(this.user.getId(), Project.ROLES);
userReadonlyPermissions = Permission.buildWithRoles(this.user.getId(), Collections.singleton(new Role(RoleType.Read)));
userStrangerPermissions = Permission.buildWithRoles(this.stranger.getId(), Collections.singleton(new Role(RoleType.Read)));
Organization organization = new Organization();
organization.setCode(ORGANIZATION_CODE);
organization.setPermissions(new Permissions());
organization.getPermissions().updateUserPermissions(Permission.buildWithRoles(this.user.getId(), Collections.singleton(new Role(RoleType.Read))));
this.organization = organizationDao.createOrganization(organization);
projectDao.setOrganization(this.organization);
groupDao.setOrganization(this.organization);
Group group = new Group(GROUP);
this.group = groupDao.createGroup(group);
groupPermissions = Permission.buildWithRoles(this.group.getId(), Collections.singleton(new Role(RoleType.Read)));
Project project = new Project();
project.setCode(PROJECT_CODE);
Permissions projectPermissions = new Permissions();
projectPermissions.updateUserPermissions(Permission.buildWithRoles(this.user.getId(), Project.ROLES));
project.setPermissions(projectPermissions);
this.project = projectDao.createProject(project);
workspaceKeeper.setWorkspaceIds(this.organization.getId(), this.project.getId());
collectionDao.setProject(project);
}
use of io.lumeer.api.model.Group in project engine by Lumeer.
the class ViewFacadeIT method configureProject.
@Before
public void configureProject() {
User user = new User(USER);
this.user = userDao.createUser(user);
Organization organization = new Organization();
organization.setCode(ORGANIZATION_CODE);
organization.setPermissions(new Permissions());
Organization storedOrganization = organizationDao.createOrganization(organization);
projectDao.setOrganization(storedOrganization);
groupDao.setOrganization(storedOrganization);
group = groupDao.createGroup(new Group(GROUP, Collections.singletonList(user.getId())));
user.setOrganizations(Collections.singleton(storedOrganization.getId()));
this.user = userDao.updateUser(user.getId(), user);
Permissions organizationPermissions = new Permissions();
Permission userPermission = Permission.buildWithRoles(this.user.getId(), Set.of(new Role(RoleType.Read)));
organizationPermissions.updateUserPermissions(userPermission);
storedOrganization.setPermissions(organizationPermissions);
this.organization = organizationDao.updateOrganization(storedOrganization.getId(), storedOrganization);
this.userPermission = Permission.buildWithRoles(this.user.getId(), Set.of(new Role(RoleType.Read)));
this.groupPermission = Permission.buildWithRoles(this.group.getId(), Set.of(new Role(RoleType.Read)));
Project project = new Project();
project.setCode(PROJECT_CODE);
project.setPermissions(new Permissions());
Project storedProject = projectDao.createProject(project);
workspaceKeeper.setWorkspaceIds(storedOrganization.getId(), storedProject.getId());
Permissions projectPermissions = new Permissions();
Permission userProjectPermission = Permission.buildWithRoles(this.user.getId(), Set.of(new Role(RoleType.Read), new Role(RoleType.ViewContribute), new Role(RoleType.CollectionContribute)));
projectPermissions.updateUserPermissions(userProjectPermission);
storedProject.setPermissions(projectPermissions);
this.project = projectDao.updateProject(storedProject.getId(), storedProject);
viewDao.setProject(this.project);
Collection collection = collectionFacade.createCollection(new Collection("abc", "abc random", ICON, COLOR, projectPermissions));
collectionFacade.updateUserPermissions(collection.getId(), Set.of(Permission.buildWithRoles(this.user.getId(), Collections.singleton(new Role(RoleType.Read)))));
query = new Query(new QueryStem(collection.getId()));
PermissionCheckerUtil.allowGroups();
permissionsChecker.getPermissionAdapter().invalidateUserCache();
}
use of io.lumeer.api.model.Group in project engine by Lumeer.
the class MongoGroupDaoTest method testCreateExistingGroup.
@Test
public void testCreateExistingGroup() {
Group group = new Group(GROUP);
mongoGroupDao.createGroup(group);
assertThatThrownBy(() -> mongoGroupDao.createGroup(group)).isInstanceOf(StorageException.class);
}
use of io.lumeer.api.model.Group in project engine by Lumeer.
the class MongoGroupDaoTest method testCreateGroup.
@Test
public void testCreateGroup() {
Group group = new Group(GROUP);
String id = mongoGroupDao.createGroup(group).getId();
assertThat(id).isNotNull().isNotEmpty();
assertThat(ObjectId.isValid(id)).isTrue();
Group storedGroup = mongoGroupDao.databaseCollection().find(MongoFilters.idFilter(id)).first();
assertThat(storedGroup).isNotNull();
assertThat(storedGroup.getId()).isEqualTo(id);
assertThat(storedGroup.getName()).isEqualTo(GROUP);
}
use of io.lumeer.api.model.Group in project engine by Lumeer.
the class GroupServiceIT method testGetUsers.
@Test
public void testGetUsers() {
groupDao.createGroup(new Group(GROUP1));
groupDao.createGroup(new Group(GROUP3));
Response response = client.target(getPath(organization.getCode())).request(MediaType.APPLICATION_JSON).buildGet().invoke();
assertThat(response).isNotNull();
assertThat(response.getStatusInfo()).isEqualTo(Response.Status.OK);
List<Group> groups = response.readEntity(new GenericType<List<Group>>() {
});
assertThat(groups).extracting(Group::getName).containsOnly(GROUP1, GROUP3);
}
Aggregations