Search in sources :

Example 11 with Group

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);
}
Also used : Role(io.lumeer.api.model.Role) Group(io.lumeer.api.model.Group) Project(io.lumeer.api.model.Project) User(io.lumeer.api.model.User) AuthenticatedUser(io.lumeer.core.auth.AuthenticatedUser) Organization(io.lumeer.api.model.Organization) Permissions(io.lumeer.api.model.Permissions) Before(org.junit.Before)

Example 12 with Group

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();
}
Also used : Role(io.lumeer.api.model.Role) Group(io.lumeer.api.model.Group) Project(io.lumeer.api.model.Project) User(io.lumeer.api.model.User) AuthenticatedUser(io.lumeer.core.auth.AuthenticatedUser) Organization(io.lumeer.api.model.Organization) Query(io.lumeer.api.model.Query) LumeerAssertions.assertPermissions(io.lumeer.test.util.LumeerAssertions.assertPermissions) Permissions(io.lumeer.api.model.Permissions) Permission(io.lumeer.api.model.Permission) Collection(io.lumeer.api.model.Collection) QueryStem(io.lumeer.api.model.QueryStem) Before(org.junit.Before)

Example 13 with Group

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);
}
Also used : Group(io.lumeer.api.model.Group) Test(org.junit.Test)

Example 14 with Group

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);
}
Also used : Group(io.lumeer.api.model.Group) Test(org.junit.Test)

Example 15 with 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);
}
Also used : Response(javax.ws.rs.core.Response) Group(io.lumeer.api.model.Group) List(java.util.List) Test(org.junit.Test)

Aggregations

Group (io.lumeer.api.model.Group)44 Test (org.junit.Test)22 Organization (io.lumeer.api.model.Organization)19 Permissions (io.lumeer.api.model.Permissions)16 Project (io.lumeer.api.model.Project)16 Role (io.lumeer.api.model.Role)16 User (io.lumeer.api.model.User)16 Before (org.junit.Before)15 AuthenticatedUser (io.lumeer.core.auth.AuthenticatedUser)14 Permission (io.lumeer.api.model.Permission)10 Response (javax.ws.rs.core.Response)9 Collection (io.lumeer.api.model.Collection)7 LumeerAssertions.assertPermissions (io.lumeer.test.util.LumeerAssertions.assertPermissions)6 List (java.util.List)4 LinkType (io.lumeer.api.model.LinkType)2 Query (io.lumeer.api.model.Query)2 QueryStem (io.lumeer.api.model.QueryStem)2 ResourceType (io.lumeer.api.model.ResourceType)2 RoleType (io.lumeer.api.model.RoleType)2 Resource (io.lumeer.api.model.common.Resource)2