Search in sources :

Example 11 with JsonProject

use of io.lumeer.api.dto.JsonProject in project engine by Lumeer.

the class ProjectServiceIT method testCreateProject.

@Test
public void testCreateProject() {
    Project project = new JsonProject(CODE1, NAME, ICON, COLOR, null, null);
    Entity entity = Entity.json(project);
    Response response = client.target(PROJECT_URL).request(MediaType.APPLICATION_JSON).buildPost(entity).invoke();
    assertThat(response).isNotNull();
    assertThat(response.getStatusInfo()).isEqualTo(Response.Status.OK);
    Project returnedProject = response.readEntity(JsonProject.class);
    SoftAssertions assertions = new SoftAssertions();
    assertions.assertThat(returnedProject.getCode()).isEqualTo(CODE1);
    assertions.assertThat(returnedProject.getName()).isEqualTo(NAME);
    assertions.assertThat(returnedProject.getIcon()).isEqualTo(ICON);
    assertions.assertThat(returnedProject.getColor()).isEqualTo(COLOR);
    assertions.assertThat(returnedProject.getPermissions().getUserPermissions()).containsOnly(USER_PERMISSION);
    assertions.assertThat(returnedProject.getPermissions().getGroupPermissions()).isEmpty();
    assertions.assertAll();
}
Also used : Response(javax.ws.rs.core.Response) JsonProject(io.lumeer.api.dto.JsonProject) Project(io.lumeer.api.model.Project) Entity(javax.ws.rs.client.Entity) SoftAssertions(org.assertj.core.api.SoftAssertions) JsonProject(io.lumeer.api.dto.JsonProject) Test(org.junit.Test)

Example 12 with JsonProject

use of io.lumeer.api.dto.JsonProject in project engine by Lumeer.

the class ProjectServiceIT method createProject.

private Project createProject(String code) {
    Project project = new JsonProject(code, NAME, ICON, COLOR, null, null);
    project.getPermissions().updateUserPermissions(USER_PERMISSION);
    project.getPermissions().updateGroupPermissions(GROUP_PERMISSION);
    return projectDao.createProject(project);
}
Also used : JsonProject(io.lumeer.api.dto.JsonProject) Project(io.lumeer.api.model.Project) JsonProject(io.lumeer.api.dto.JsonProject)

Example 13 with JsonProject

use of io.lumeer.api.dto.JsonProject in project engine by Lumeer.

the class ProjectServiceIT method testGetProjects.

@Test
public void testGetProjects() {
    createProject(CODE1);
    createProject(CODE2);
    Response response = client.target(PROJECT_URL).request(MediaType.APPLICATION_JSON).buildGet().invoke();
    assertThat(response).isNotNull();
    assertThat(response.getStatusInfo()).isEqualTo(Response.Status.OK);
    List<JsonProject> projects = response.readEntity(new GenericType<List<JsonProject>>() {
    });
    assertThat(projects).extracting(Resource::getCode).containsOnly(CODE1, CODE2);
    Project project1 = projects.get(0);
    assertThat(project1.getName()).isEqualTo(NAME);
    assertThat(project1.getIcon()).isEqualTo(ICON);
    assertThat(project1.getColor()).isEqualTo(COLOR);
    Permissions permissions1 = project1.getPermissions();
    assertThat(permissions1).extracting(Permissions::getUserPermissions).containsOnly(Collections.singleton(USER_PERMISSION));
    assertThat(permissions1).extracting(p -> p.getUserPermissions().iterator().next().getRoles()).containsOnly(USER_ROLES);
    assertThat(permissions1).extracting(Permissions::getGroupPermissions).containsOnly(Collections.emptySet());
    Project project2 = projects.get(1);
    assertThat(project2.getName()).isEqualTo(NAME);
    assertThat(project2.getIcon()).isEqualTo(ICON);
    assertThat(project2.getColor()).isEqualTo(COLOR);
    Permissions permissions2 = project2.getPermissions();
    assertThat(permissions2).extracting(Permissions::getUserPermissions).containsOnly(Collections.singleton(USER_PERMISSION));
    assertThat(permissions2).extracting(p -> p.getUserPermissions().iterator().next().getRoles()).containsOnly(USER_ROLES);
    assertThat(permissions2).extracting(Permissions::getGroupPermissions).containsOnly(Collections.emptySet());
}
Also used : Response(javax.ws.rs.core.Response) UserDao(io.lumeer.storage.api.dao.UserDao) Arrays(java.util.Arrays) SoftAssertions(org.assertj.core.api.SoftAssertions) ProjectDao(io.lumeer.storage.api.dao.ProjectDao) Arquillian(org.jboss.arquillian.junit.Arquillian) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) JsonPermission(io.lumeer.api.dto.JsonPermission) User(io.lumeer.api.model.User) RunWith(org.junit.runner.RunWith) MorphiaPermission(io.lumeer.storage.mongodb.model.embedded.MorphiaPermission) LumeerAssertions.assertPermissions(io.lumeer.test.util.LumeerAssertions.assertPermissions) Resource(io.lumeer.api.model.Resource) JsonPermissions(io.lumeer.api.dto.JsonPermissions) HashSet(java.util.HashSet) Inject(javax.inject.Inject) OrganizationDao(io.lumeer.storage.api.dao.OrganizationDao) MediaType(javax.ws.rs.core.MediaType) Assertions.assertThatThrownBy(org.assertj.core.api.Assertions.assertThatThrownBy) Role(io.lumeer.api.model.Role) JsonProject(io.lumeer.api.dto.JsonProject) SimplePermission(io.lumeer.core.model.SimplePermission) UriBuilder(javax.ws.rs.core.UriBuilder) MorphiaPermissions(io.lumeer.storage.mongodb.model.embedded.MorphiaPermissions) Organization(io.lumeer.api.model.Organization) Before(org.junit.Before) Permission(io.lumeer.api.model.Permission) ResourceNotFoundException(io.lumeer.storage.api.exception.ResourceNotFoundException) Permissions(io.lumeer.api.model.Permissions) AuthenticatedUser(io.lumeer.core.AuthenticatedUser) Set(java.util.Set) Test(org.junit.Test) Entity(javax.ws.rs.client.Entity) GenericType(javax.ws.rs.core.GenericType) Project(io.lumeer.api.model.Project) MorphiaOrganization(io.lumeer.storage.mongodb.model.MorphiaOrganization) List(java.util.List) Response(javax.ws.rs.core.Response) Collections(java.util.Collections) Link(javax.ws.rs.core.Link) JsonProject(io.lumeer.api.dto.JsonProject) Project(io.lumeer.api.model.Project) LumeerAssertions.assertPermissions(io.lumeer.test.util.LumeerAssertions.assertPermissions) JsonPermissions(io.lumeer.api.dto.JsonPermissions) MorphiaPermissions(io.lumeer.storage.mongodb.model.embedded.MorphiaPermissions) Permissions(io.lumeer.api.model.Permissions) List(java.util.List) JsonProject(io.lumeer.api.dto.JsonProject) Test(org.junit.Test)

Example 14 with JsonProject

use of io.lumeer.api.dto.JsonProject in project engine by Lumeer.

the class OrganizationServicePermissionsIT method testCreateProjectInOrganizationNoRole.

@Test
public void testCreateProjectInOrganizationNoRole() {
    String name = "testRemoveGroupPermissionNoRole";
    String code = "testRemoveGroupPermissionNoRole_code";
    Organization organization = new JsonOrganization(code, name, "a", "b", null, null);
    organizationFacade.createOrganization(organization);
    organizationFacade.removeUserPermission(code, userEmail);
    String projectCode = "proj1";
    String projectName = "proj1_code";
    Project project = new JsonProject(projectCode, projectName, "a", "b", null, null);
    Response response = client.target(TARGET_URI).path(PATH_PREFIX + code + "/projects").request(MediaType.APPLICATION_JSON).buildPost(Entity.json(project)).invoke();
    assertThat(response.getStatusInfo()).isEqualTo(Response.Status.UNAUTHORIZED);
}
Also used : Response(javax.ws.rs.core.Response) JsonProject(io.lumeer.api.dto.JsonProject) Project(io.lumeer.api.model.Project) Organization(io.lumeer.api.model.Organization) JsonOrganization(io.lumeer.api.dto.JsonOrganization) JsonOrganization(io.lumeer.api.dto.JsonOrganization) JsonProject(io.lumeer.api.dto.JsonProject) Test(org.junit.Test)

Example 15 with JsonProject

use of io.lumeer.api.dto.JsonProject in project engine by Lumeer.

the class ProjectServicePermissionsIT method createProject.

private Project createProject(String code, String name) {
    Project project = new JsonProject(code, name, "a", "b", null, null);
    project.getPermissions().updateUserPermissions(new SimplePermission(userEmail, Project.ROLES));
    return projectDao.createProject(project);
}
Also used : JsonProject(io.lumeer.api.dto.JsonProject) Project(io.lumeer.api.model.Project) JsonProject(io.lumeer.api.dto.JsonProject) SimplePermission(io.lumeer.core.model.SimplePermission)

Aggregations

JsonProject (io.lumeer.api.dto.JsonProject)26 Project (io.lumeer.api.model.Project)25 Organization (io.lumeer.api.model.Organization)15 JsonOrganization (io.lumeer.api.dto.JsonOrganization)14 JsonPermission (io.lumeer.api.dto.JsonPermission)14 JsonPermissions (io.lumeer.api.dto.JsonPermissions)13 User (io.lumeer.api.model.User)13 AuthenticatedUser (io.lumeer.core.AuthenticatedUser)13 Before (org.junit.Before)13 Test (org.junit.Test)9 JsonCollection (io.lumeer.api.dto.JsonCollection)8 Response (javax.ws.rs.core.Response)7 SoftAssertions (org.assertj.core.api.SoftAssertions)4 SimplePermission (io.lumeer.core.model.SimplePermission)3 Entity (javax.ws.rs.client.Entity)3 LinkType (io.lumeer.api.model.LinkType)2 Permission (io.lumeer.api.model.Permission)1 Permissions (io.lumeer.api.model.Permissions)1 Resource (io.lumeer.api.model.Resource)1 Role (io.lumeer.api.model.Role)1