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));
+ }
+
}