Skip to content

v0.2.52..v0.2.53 changeset MapResourceTest.java

Garret Voltz edited this page Feb 12, 2020 · 1 revision
diff --git a/hoot-services/src/test/java/hoot/services/controllers/osm/map/MapResourceTest.java b/hoot-services/src/test/java/hoot/services/controllers/osm/map/MapResourceTest.java
index 9295a60..316160e 100644
--- a/hoot-services/src/test/java/hoot/services/controllers/osm/map/MapResourceTest.java
+++ b/hoot-services/src/test/java/hoot/services/controllers/osm/map/MapResourceTest.java
@@ -22,7 +22,7 @@
  * This will properly maintain the copyright information. DigitalGlobe
  * copyrights will be updated automatically.
  *
- * @copyright Copyright (C) 2016, 2017, 2018, 2019 DigitalGlobe (http://www.digitalglobe.com/)
+ * @copyright Copyright (C) 2016, 2017, 2018, 2019, 2020 DigitalGlobe (http://www.digitalglobe.com/)
  */
 package hoot.services.controllers.osm.map;
 
@@ -31,6 +31,7 @@ import static hoot.services.models.db.QCurrentNodes.currentNodes;
 import static hoot.services.models.db.QMaps.maps;
 import static hoot.services.utils.DbUtils.createQuery;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
@@ -42,8 +43,10 @@ import java.util.ArrayList;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 import javax.ws.rs.BadRequestException;
+import javax.ws.rs.ForbiddenException;
 import javax.ws.rs.NotAllowedException;
 import javax.ws.rs.NotFoundException;
 import javax.ws.rs.core.MediaType;
@@ -56,11 +59,13 @@ import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.w3c.dom.Document;
 
+import com.querydsl.core.Tuple;
 import com.querydsl.sql.SQLExpressions;
 
 import hoot.services.UnitTest;
 import hoot.services.controllers.osm.OSMResourceTestAbstract;
 import hoot.services.controllers.osm.OSMTestUtils;
+import hoot.services.controllers.osm.user.UserResource;
 import hoot.services.geo.BoundingBox;
 import hoot.services.models.db.CurrentNodes;
 import hoot.services.models.db.CurrentRelations;
@@ -68,10 +73,13 @@ import hoot.services.models.db.CurrentWays;
 import hoot.services.models.db.Maps;
 import hoot.services.models.db.QCurrentRelations;
 import hoot.services.models.db.QCurrentWays;
+import hoot.services.models.db.Users;
 import hoot.services.models.osm.Element.ElementType;
+import hoot.services.models.osm.Map;
 import hoot.services.models.osm.MapLayer;
 import hoot.services.models.osm.MapLayers;
 import hoot.services.models.osm.RelationMember;
+import hoot.services.utils.DbUtils;
 import hoot.services.utils.HootCustomPropertiesSetter;
 import hoot.services.utils.MapUtils;
 import hoot.services.utils.XmlUtils;
@@ -353,6 +361,12 @@ public class MapResourceTest extends OSMResourceTestAbstract {
 
     @Test
     @Category(UnitTest.class)
+    public void testGetMapByNegativeOneId() throws Exception {
+        //TODO
+    }
+
+    @Test
+    @Category(UnitTest.class)
     public void testGetMapByName() throws Exception {
         getMap("map-with-id-" + mapId, "false", true);
     }
@@ -1085,4 +1099,133 @@ public class MapResourceTest extends OSMResourceTestAbstract {
             }
         }
     }
+
+    @Test
+    @Category(UnitTest.class)
+    public void testGenerateExtentOSM() throws Exception {
+        //TODO
+    }
+
+    @Test
+    @Category(UnitTest.class)
+    public void testGetTileNodesCounts() throws Exception {
+        //TODO
+    }
+
+    @Test
+    @Category(UnitTest.class)
+    public void testDeleteLayers() throws Exception {
+        //TODO
+    }
+
+    @Test
+    @Category(UnitTest.class)
+    public void testDeleteStaleLayers() throws Exception {
+        //TODO
+    }
+
+    @Test
+    @Category(UnitTest.class)
+    public void testGetStaleLayers() throws Exception {
+        //TODO
+    }
+
+    @Test
+    @Category(UnitTest.class)
+    public void testModifyName() throws Exception {
+        //TODO
+    }
+
+    @Test
+    @Category(UnitTest.class)
+    public void testUpdateFolderMapLink() throws Exception {
+        //TODO
+    }
+
+    @Test
+    @Category(UnitTest.class)
+    public void testGetTags() throws Exception {
+        //TODO
+    }
+
+    @Test
+    @Category(UnitTest.class)
+    public void testGetAllIds() throws Exception {
+        //TODO
+    }
+
+    @Test
+    @Category(UnitTest.class)
+    public void testGetMapForAdmin() throws Exception {
+
+        MapUtils.cleanupTestUsers();
+
+        long userId = MapUtils.insertUser();
+        assertTrue(userId < 0);
+
+        long advancedId = MapUtils.insertAdvancedUser();
+        long adminId = MapUtils.insertAdminUser();
+        long advAdminId = MapUtils.insertAdvancedAdminUser();
+
+        Users user = MapUtils.getUser(userId);
+        assertNotNull(user);
+        assertFalse(UserResource.adminUserCheck(user));
+        assertFalse(UserResource.userPrivilegeCheck(user, "advanced"));
+
+        Users advancedUser = MapUtils.getUser(advancedId);
+        assertFalse(UserResource.adminUserCheck(advancedUser));
+        assertTrue(UserResource.userPrivilegeCheck(advancedUser, "advanced"));
+
+        Users adminUser = MapUtils.getUser(adminId);
+        assertTrue(UserResource.adminUserCheck(adminUser));
+        assertFalse(UserResource.userPrivilegeCheck(adminUser, "advanced"));
+
+        Users advancedAdminUser = MapUtils.getUser(advAdminId);
+        assertTrue(UserResource.adminUserCheck(advancedAdminUser));
+        assertTrue(UserResource.userPrivilegeCheck(advancedAdminUser, "advanced"));
+
+        long mapId = MapUtils.insertMap(userId);
+        long userFolderId = MapUtils.addPrivateFolder("userFolder", userId);
+        DbUtils.updateFolderMapping(mapId, userFolderId);
+
+        long adminMapId = MapUtils.insertMap(adminId);
+        long adminFolderId = MapUtils.addPrivateFolder("adminFolder", adminId);
+        DbUtils.updateFolderMapping(adminMapId, adminFolderId);
+
+        //user should not see admin private folder
+//        FolderResource.get(folders, f, advancedAdminUser)
+        assertNotNull(FolderResource.getFolderForUser(user, userFolderId));
+        assertNotNull(FolderResource.getFolderForUser(adminUser, userFolderId));
+
+        //user should not see admin private map
+        List<Tuple> userMaps = DbUtils.getMapsForUser(user);
+        assertTrue(userMaps.stream().map(m -> m.get(maps).getId()).collect(Collectors.toList()).contains(mapId));
+        assertFalse(userMaps.stream().map(m -> m.get(maps).getId()).collect(Collectors.toList()).contains(adminMapId));
+
+        //admin should see user private folder
+//      FolderResource.folderIsPublic(folders, f, advancedAdminUser)
+        try {
+            FolderResource.getFolderForUser(user, adminFolderId);
+            fail();
+        } catch (ForbiddenException ex) {
+            assertTrue(true);
+        }
+        assertNotNull(FolderResource.getFolderForUser(adminUser, adminFolderId));
+
+
+        //admin should see user private map
+        List<Tuple> adminMaps = DbUtils.getMapsForUser(adminUser);
+        assertTrue(adminMaps.stream().map(m -> m.get(maps).getId()).collect(Collectors.toList()).contains(mapId));
+        assertTrue(adminMaps.stream().map(m -> m.get(maps).getId()).collect(Collectors.toList()).contains(adminMapId));
+
+        Map userMap = new Map(mapId);
+        userMap.setUserId(userId);
+        Map adminMap = new Map(adminMapId);
+        adminMap.setUserId(adminId);
+        assertTrue(userMap.isVisibleTo(user));
+        assertTrue(userMap.isVisibleTo(adminUser));
+        assertFalse(adminMap.isVisibleTo(user));
+        assertTrue(adminMap.isVisibleTo(adminUser));
+    }
+
 }
Clone this wiki locally