diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/ProjectRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/ProjectRestImplTest.java index 24bee74b7b12537d0c24ade37e8d4780f30c7ebe..b22b43fefb257b5651e10c2f7f8995180af60bf8 100644 --- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/ProjectRestImplTest.java +++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/ProjectRestImplTest.java @@ -7,6 +7,8 @@ import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.times; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import org.apache.log4j.Logger; @@ -159,6 +161,19 @@ public class ProjectRestImplTest extends RestTestFunctions { } } + @Test + public void testGetProjects() throws Exception { + try { + ProjectRestImpl projectRest = createMockProjectRest("testFiles/model/sample.xml"); + List<ProjectMetaData> result = projectRest.getProjects(token.getId()); + Gson gson = new Gson(); + assertNotNull(gson.toJson(result)); + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } + @Test public void testGetStatistics() throws Exception { try { @@ -208,6 +223,9 @@ public class ProjectRestImplTest extends RestTestFunctions { IProjectService projectServiceMock = Mockito.mock(IProjectService.class); Mockito.when(projectServiceMock.getProjectByProjectId(anyString(), any())).thenReturn(project); + List<Project> projects = new ArrayList<>(); + projects.add(project); + Mockito.when(projectServiceMock.getAllProjects(any())).thenReturn(projects); _projectRestImpl.setProjectService(projectServiceMock); return _projectRestImpl; diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java index 604b1f3da3158fa9ae3749ff2d88893e06a91c17..cb14525022182f748bfa30e958d8e8024a4c5284 100644 --- a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java +++ b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java @@ -291,7 +291,7 @@ public class ProjectService implements IProjectService { } List<Project> result = new ArrayList<>(); for (Project project : projects) { - if (userService.userHasPrivilege(token, PrivilegeType.VIEW_PROJECT, result)) { + if (userService.userHasPrivilege(token, PrivilegeType.VIEW_PROJECT, project)) { result.add(project); } } diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java index f2d08ea6cc581e3b68b5b7eb0f3d0157503f3671..21ccc3f3021a2e09c04f2de620de5b4a3b9a0e23 100644 --- a/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java +++ b/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java @@ -82,6 +82,19 @@ public class ProjectServiceTest extends ServiceTestFunctions { public void tearDown() throws Exception { } + @Test + public void testGetProjectWithoutAccessToEverything() { + try { + createUser(); + AuthenticationToken token = userService.login(user.getLogin(), "passwd"); + List<Project> projects = projectService.getAllProjects(token); + assertNotNull(projects); + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } + @Test public void test() { try {