use of io.lumeer.api.model.Permission in project engine by Lumeer.
the class MorphiaCollectionDaoTest method testGetCollectionsByCollectionIds.
@Test
public void testGetCollectionsByCollectionIds() {
MorphiaCollection collection = prepareCollection(CODE, NAME);
collection.getPermissions().removeUserPermission(USER);
Permission userPermission = new MorphiaPermission(USER2, Collections.singleton(Role.READ.toString()));
collection.getPermissions().updateUserPermissions(userPermission);
datastore.save(collectionDao.databaseCollection(), collection);
MorphiaCollection collection2 = prepareCollection(CODE2, NAME2);
datastore.save(collectionDao.databaseCollection(), collection2);
MorphiaCollection collection3 = prepareCollection(CODE3, NAME3);
datastore.save(collectionDao.databaseCollection(), collection3);
SearchQuery query = SearchQuery.createBuilder(USER).collectionIds(new HashSet<>(Arrays.asList(collection.getId(), collection3.getId()))).build();
List<Collection> views = collectionDao.getCollections(query);
assertThat(views).extracting(Collection::getId).containsOnly(collection3.getId());
}
use of io.lumeer.api.model.Permission in project engine by Lumeer.
the class MorphiaViewDaoTest method testGetViewsNoReadRole.
@Test
public void testGetViewsNoReadRole() {
MorphiaView view = prepareView();
Permission userPermission = new MorphiaPermission(USER2, Collections.singleton(Role.CLONE.toString()));
view.getPermissions().updateUserPermissions(userPermission);
datastore.save(viewDao.databaseCollection(), view);
MorphiaView view2 = prepareView();
view2.setCode(CODE2);
view2.setName(NAME2);
Permission groupPermission = new MorphiaPermission(GROUP2, Collections.singleton(Role.SHARE.toString()));
view2.getPermissions().updateGroupPermissions(groupPermission);
datastore.save(viewDao.databaseCollection(), view2);
SearchQuery query = SearchQuery.createBuilder(USER2).groups(Collections.singleton(GROUP2)).build();
List<View> views = viewDao.getViews(query);
assertThat(views).isEmpty();
}
use of io.lumeer.api.model.Permission in project engine by Lumeer.
the class OrganizationServicePermissionsIT method testUpdateGroupPermissionManageRole.
@Test
public void testUpdateGroupPermissionManageRole() {
String name = "testUpdateGroupPermissionNoRole";
String code = "testUpdateGroupPermissionNoRole_code";
Organization organization = new JsonOrganization(code, name, "a", "b", null, null);
organizationFacade.createOrganization(organization);
organizationFacade.updateUserPermissions(code, new JsonPermission(userEmail, Role.toStringRoles(new HashSet<>(Arrays.asList(Role.READ, Role.MANAGE)))));
String group = "testGroup2";
Permission newPermission = new JsonPermission(group, Role.toStringRoles(new HashSet<>(Collections.singletonList(Role.WRITE))));
Response response = client.target(TARGET_URI).path(PATH_PREFIX + code + "/permissions/groups").request(MediaType.APPLICATION_JSON).buildPut(Entity.json(newPermission)).invoke();
assertThat(response.getStatusInfo()).isEqualTo(Response.Status.OK);
}
use of io.lumeer.api.model.Permission in project engine by Lumeer.
the class OrganizationServicePermissionsIT method testGetOrganizationReadRole.
@Test
public void testGetOrganizationReadRole() {
String name = "TestGetOrganizationReadRole";
String code = "TestGetOrganizationReadRole_id";
Organization organization = new JsonOrganization(code, name, "a", "b", null, null);
organizationFacade.createOrganization(organization);
Permission newPermission = new JsonPermission(userEmail, Role.toStringRoles(Collections.singleton(Role.READ)));
organizationFacade.updateUserPermissions(code, newPermission);
Set<Permission> perm = organizationDao.getOrganizationByCode(code).getPermissions().getUserPermissions();
LumeerAssertions.assertPermissions(perm, newPermission);
Response response = client.target(TARGET_URI).path(PATH_PREFIX + code).request(MediaType.APPLICATION_JSON).buildGet().invoke();
assertThat(response.getStatusInfo()).isEqualTo(Response.Status.OK);
}
use of io.lumeer.api.model.Permission in project engine by Lumeer.
the class OrganizationServicePermissionsIT method testUpdateGroupPermissionNoRole.
@Test
public void testUpdateGroupPermissionNoRole() {
String name = "testUpdateGroupPermissionNoRole";
String code = "testUpdateGroupPermissionNoRole_code";
Organization organization = new JsonOrganization(code, name, "a", "b", null, null);
organizationFacade.createOrganization(organization);
organizationFacade.removeUserPermission(code, userEmail);
String group = "testGroup1";
Permission newPermission = new JsonPermission(group, Role.toStringRoles(new HashSet<>(Collections.singletonList(Role.WRITE))));
Response response = client.target(TARGET_URI).path(PATH_PREFIX + code + "/permissions/groups").request(MediaType.APPLICATION_JSON).buildPut(Entity.json(newPermission)).invoke();
assertThat(response.getStatusInfo()).isEqualTo(Response.Status.UNAUTHORIZED);
}
Aggregations