From cc33699691e0c58cf2dcacb72a9263fe4673baa0 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Thu, 22 Aug 2019 17:27:07 +0200
Subject: [PATCH] test checking if undefined project is proper handled when
 listing elements

---
 ...ontrollerIntegrationTestWithoutTransaction.java |  2 --
 .../mapviewer/web/ControllerIntegrationTest.java   |  3 +++
 .../web/MapControllerIntegrationTest.java          | 14 ++++++++++++++
 3 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/web/src/test/java/lcsb/mapviewer/web/CommentControllerIntegrationTestWithoutTransaction.java b/web/src/test/java/lcsb/mapviewer/web/CommentControllerIntegrationTestWithoutTransaction.java
index 5a3005d701..cc201fa3cf 100644
--- a/web/src/test/java/lcsb/mapviewer/web/CommentControllerIntegrationTestWithoutTransaction.java
+++ b/web/src/test/java/lcsb/mapviewer/web/CommentControllerIntegrationTestWithoutTransaction.java
@@ -16,8 +16,6 @@ import org.springframework.test.web.servlet.RequestBuilder;
 @Rollback
 public class CommentControllerIntegrationTestWithoutTransaction extends ControllerIntegrationTest {
 
-  private static final String BUILT_IN_TEST_ADMIN_PASSWORD = "admin";
-  private static final String BUILT_IN_TEST_ADMIN_LOGIN = "admin";
   Logger logger = LogManager.getLogger();
 
   @Before
diff --git a/web/src/test/java/lcsb/mapviewer/web/ControllerIntegrationTest.java b/web/src/test/java/lcsb/mapviewer/web/ControllerIntegrationTest.java
index 1a3ad7b6a8..a966faf2a7 100644
--- a/web/src/test/java/lcsb/mapviewer/web/ControllerIntegrationTest.java
+++ b/web/src/test/java/lcsb/mapviewer/web/ControllerIntegrationTest.java
@@ -51,6 +51,9 @@ import lcsb.mapviewer.web.config.SpringWebConfig;
 @ContextConfiguration(classes = SpringWebConfig.class)
 abstract public class ControllerIntegrationTest {
 
+  protected static final String BUILT_IN_TEST_ADMIN_PASSWORD = "admin";
+  protected static final String BUILT_IN_TEST_ADMIN_LOGIN = "admin";
+
   @Rule
   public UnitTestFailedWatcher unitTestFailedWatcher = new UnitTestFailedWatcher();
   protected MockMvc mockMvc;
diff --git a/web/src/test/java/lcsb/mapviewer/web/MapControllerIntegrationTest.java b/web/src/test/java/lcsb/mapviewer/web/MapControllerIntegrationTest.java
index 1c02f73f51..80f1ccf3a2 100644
--- a/web/src/test/java/lcsb/mapviewer/web/MapControllerIntegrationTest.java
+++ b/web/src/test/java/lcsb/mapviewer/web/MapControllerIntegrationTest.java
@@ -11,6 +11,7 @@ import org.junit.*;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
+import org.springframework.mock.web.MockHttpSession;
 import org.springframework.test.annotation.Rollback;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.test.web.servlet.RequestBuilder;
@@ -76,6 +77,19 @@ public class MapControllerIntegrationTest extends ControllerIntegrationTest {
     assertTrue("user should be able to access elements", elements > 0);
   }
 
+  @Test
+  public void testGetAllElementsForUndefinedProject() throws Exception {
+    MockHttpSession session = createSession(ControllerIntegrationTest.BUILT_IN_TEST_ADMIN_LOGIN,
+        ControllerIntegrationTest.BUILT_IN_TEST_ADMIN_PASSWORD);
+    
+    RequestBuilder request = get("/projects/*/models/*/bioEntities/elements/")
+        .contentType(MediaType.APPLICATION_FORM_URLENCODED)
+        .session(session);
+
+    mockMvc.perform(request)
+        .andExpect(status().isNotFound());
+  }
+
   @Test
   public void testSearchBioEntitiesAsAnonymous() throws Exception {
     userService.grantUserPrivilege(anonymous, PrivilegeType.READ_PROJECT, project.getProjectId());
-- 
GitLab