Search in sources :

Example 1 with TestUserInfo

use of net.geoprism.registry.test.TestUserInfo in project geoprism-registry by terraframe.

the class CurationTest method testDetails.

@Test
public void testDetails() {
    // Allowed Users
    TestUserInfo[] allowedUsers = new TestUserInfo[] { FastTestDataset.USER_ADMIN, FastTestDataset.USER_CGOV_RA, FastTestDataset.USER_CGOV_RM };
    for (TestUserInfo user : allowedUsers) {
        FastTestDataset.runAsUser(user, (request, adapter) -> {
            CurationControllerWrapper controller = new CurationControllerWrapper(adapter, request);
            JsonObject details = controller.details(history.getOid(), false, 10, 1);
            Assert.assertTrue(details.has("page"));
            JsonObject page = details.get("page").getAsJsonObject();
            Assert.assertTrue(page.has("count"));
            Assert.assertTrue(page.has("pageNumber"));
            Assert.assertTrue(page.has("pageSize"));
            Assert.assertTrue(page.has("resultSet"));
            Assert.assertEquals(AllJobStatus.RUNNING.name(), details.get("status").getAsString());
            Assert.assertEquals(GeoRegistryUtil.formatDate(history.getCreateDate(), false), details.get("lastRun").getAsString());
            Assert.assertEquals(historyId, details.get("historyId").getAsString());
            Assert.assertEquals(job.getOid(), details.get("jobId").getAsString());
            Assert.assertFalse(details.has("exception"));
            Assert.assertEquals(TestDataSet.ADMIN_USER_NAME, details.get("lastRunBy").getAsString());
        });
    }
    // Disallowed Users
    TestUserInfo[] disallowedUsers = new TestUserInfo[] { FastTestDataset.USER_CGOV_RC, FastTestDataset.USER_CGOV_AC, FastTestDataset.USER_MOHA_RA, FastTestDataset.USER_MOHA_RM };
    for (TestUserInfo user : disallowedUsers) {
        FastTestDataset.runAsUser(user, (request, adapter) -> {
            CurationControllerWrapper controller = new CurationControllerWrapper(adapter, request);
            try {
                controller.details(history.getOid(), false, 10, 1);
                Assert.fail("Expected to get an exception.");
            } catch (SmartExceptionDTO e) {
                Assert.assertTrue(OrganizationRAException.CLASS.equals(e.getType()) || OrganizationRMException.CLASS.equals(e.getType()));
            }
        });
    }
}
Also used : TestUserInfo(net.geoprism.registry.test.TestUserInfo) CurationControllerWrapper(net.geoprism.registry.test.curation.CurationControllerWrapper) JsonObject(com.google.gson.JsonObject) SmartExceptionDTO(com.runwaysdk.business.SmartExceptionDTO) ListTypeTest(net.geoprism.registry.service.ListTypeTest) Test(org.junit.Test)

Example 2 with TestUserInfo

use of net.geoprism.registry.test.TestUserInfo in project geoprism-registry by terraframe.

the class CurationTest method testPage.

@Test
public void testPage() {
    // Allowed Users
    TestUserInfo[] allowedUsers = new TestUserInfo[] { FastTestDataset.USER_ADMIN, FastTestDataset.USER_CGOV_RA, FastTestDataset.USER_CGOV_RM };
    for (TestUserInfo user : allowedUsers) {
        FastTestDataset.runAsUser(user, (request, adapter) -> {
            CurationControllerWrapper controller = new CurationControllerWrapper(adapter, request);
            JsonObject page = controller.page(history.getOid(), false, 10, 1);
            Assert.assertEquals(1, page.get("pageNumber").getAsInt());
            Assert.assertEquals(10, page.get("pageSize").getAsInt());
            Assert.assertEquals(1, page.get("count").getAsInt());
            Assert.assertTrue(page.has("resultSet"));
            JsonArray results = page.get("resultSet").getAsJsonArray();
            Assert.assertEquals(1, results.size());
            for (int i = 0; i < results.size(); ++i) {
                JsonObject problem = results.get(0).getAsJsonObject();
                Assert.assertEquals(historyId, problem.get("historyId").getAsString());
                Assert.assertEquals(CurationResolution.UNRESOLVED.name(), problem.get("resolution").getAsString());
                Assert.assertEquals(GeoObjectProblemType.NO_GEOMETRY.name(), problem.get("type").getAsString());
                Assert.assertEquals(curationProblemId, problem.get("id").getAsString());
                Assert.assertEquals(FastTestDataset.PROVINCE.getCode(), problem.get("typeCode").getAsString());
                Assert.assertEquals(FastTestDataset.PROV_CENTRAL.getCode(), problem.get("goCode").getAsString());
            }
        });
    }
    // Disallowed Users
    TestUserInfo[] disallowedUsers = new TestUserInfo[] { FastTestDataset.USER_CGOV_RC, FastTestDataset.USER_CGOV_AC, FastTestDataset.USER_MOHA_RA, FastTestDataset.USER_MOHA_RM };
    for (TestUserInfo user : disallowedUsers) {
        FastTestDataset.runAsUser(user, (request, adapter) -> {
            CurationControllerWrapper controller = new CurationControllerWrapper(adapter, request);
            try {
                controller.details(history.getOid(), false, 10, 1);
                Assert.fail("Expected to get an exception.");
            } catch (SmartExceptionDTO e) {
                Assert.assertTrue(OrganizationRAException.CLASS.equals(e.getType()) || OrganizationRMException.CLASS.equals(e.getType()));
            }
        });
    }
}
Also used : JsonArray(com.google.gson.JsonArray) TestUserInfo(net.geoprism.registry.test.TestUserInfo) CurationControllerWrapper(net.geoprism.registry.test.curation.CurationControllerWrapper) JsonObject(com.google.gson.JsonObject) SmartExceptionDTO(com.runwaysdk.business.SmartExceptionDTO) ListTypeTest(net.geoprism.registry.service.ListTypeTest) Test(org.junit.Test)

Example 3 with TestUserInfo

use of net.geoprism.registry.test.TestUserInfo in project geoprism-registry by terraframe.

the class DirectedAcyclicGraphTest method testGetChildren.

@Test
public void testGetChildren() {
    // Allowed Users
    TestUserInfo[] allowedUsers = new TestUserInfo[] { FastTestDataset.USER_ADMIN };
    for (TestUserInfo user : allowedUsers) {
        FastTestDataset.runAsUser(user, (request, adapter) -> {
            DirectedAcyclicGraphControllerWrapper controller = new DirectedAcyclicGraphControllerWrapper(adapter, request);
            controller.addChild(FastTestDataset.PROV_CENTRAL.getCode(), FastTestDataset.PROV_CENTRAL.getGeoObjectType().getCode(), FastTestDataset.PROV_WESTERN.getCode(), FastTestDataset.PROV_WESTERN.getGeoObjectType().getCode(), graphTypeCode, FastTestDataset.DEFAULT_OVER_TIME_DATE, FastTestDataset.DEFAULT_OVER_TIME_DATE);
            ServerChildGraphNode node = controller.getChildren(FastTestDataset.PROV_CENTRAL.getCode(), FastTestDataset.PROV_CENTRAL.getGeoObjectType().getCode(), graphTypeCode, false, FastTestDataset.DEFAULT_OVER_TIME_DATE);
            List<ServerChildGraphNode> children = node.getChildren();
            Assert.assertEquals(1, children.size());
            Assert.assertEquals(FastTestDataset.PROV_WESTERN.getCode(), children.get(0).getGeoObject().getCode());
        });
    }
}
Also used : TestUserInfo(net.geoprism.registry.test.TestUserInfo) ServerChildGraphNode(net.geoprism.registry.model.ServerChildGraphNode) DirectedAcyclicGraphControllerWrapper(net.geoprism.registry.test.graph.DirectedAcyclicGraphControllerWrapper) Test(org.junit.Test)

Example 4 with TestUserInfo

use of net.geoprism.registry.test.TestUserInfo in project geoprism-registry by terraframe.

the class GeoObjectTypeRelationshipServiceTest method testAddChild.

@Test
public void testAddChild() {
    TEST_CHILD.apply();
    USER_CHILD_GOT_RM.apply();
    USER_CHILD_GOT_RC.apply();
    USER_CHILD_GOT_AC.apply();
    // Allowed Users (with ROOT as parent)
    for (TestUserInfo user : new TestUserInfo[] { FastTestDataset.USER_CGOV_RA, USER_CHILD_GOT_RM }) {
        TestDataSet.runAsUser(user, (request, adapter) -> {
            addChild(adapter, null, TEST_CHILD);
            TEST_HT.delete();
            TEST_HT.apply();
        });
    }
    // Disallowed Users (with ROOT as parent)
    for (TestUserInfo user : new TestUserInfo[] { FastTestDataset.USER_CGOV_RM, USER_CHILD_GOT_RC, USER_CHILD_GOT_AC, FastTestDataset.USER_MOHA_RA, FastTestDataset.USER_MOHA_RM, FastTestDataset.USER_MOHA_RC, FastTestDataset.USER_MOHA_AC }) {
        TestDataSet.runAsUser(user, (request, adapter) -> {
            try {
                addChild(adapter, null, TEST_CHILD);
                Assert.fail("Expected an error");
            } catch (SmartExceptionDTO ex) {
                Assert.assertEquals(HierarchyRelationshipPermissionException.CLASS, ex.getType());
            }
        });
    }
}
Also used : TestUserInfo(net.geoprism.registry.test.TestUserInfo) SmartExceptionDTO(com.runwaysdk.business.SmartExceptionDTO) Test(org.junit.Test)

Example 5 with TestUserInfo

use of net.geoprism.registry.test.TestUserInfo in project geoprism-registry by terraframe.

the class HierarchyServiceTest method testUpdateHierarchyTypeAsBadRole.

@Test
public void testUpdateHierarchyTypeAsBadRole() {
    HierarchyType reportingDivision = FastTestDataset.HIER_ADMIN.toDTO();
    reportingDivision.setLabel(new LocalizedValue("Reporting Division 2"));
    reportingDivision.setDescription(new LocalizedValue("The rporting division hieracy 2"));
    final String updateJSON = reportingDivision.toJSON().toString();
    TestUserInfo[] users = new TestUserInfo[] { FastTestDataset.USER_MOHA_RA, FastTestDataset.USER_CGOV_RC, FastTestDataset.USER_CGOV_AC, FastTestDataset.USER_CGOV_RM };
    for (TestUserInfo user : users) {
        try {
            FastTestDataset.runAsUser(user, (request, adapter) -> {
                ServiceFactory.getHierarchyService().updateHierarchyType(request.getSessionId(), updateJSON);
            });
            Assert.fail("Able to update a geo object type as a user with bad roles");
        } catch (SmartExceptionDTO e) {
        // This is expected
        }
    }
}
Also used : TestUserInfo(net.geoprism.registry.test.TestUserInfo) ServerHierarchyType(net.geoprism.registry.model.ServerHierarchyType) HierarchyType(org.commongeoregistry.adapter.metadata.HierarchyType) LocalizedValue(org.commongeoregistry.adapter.dataaccess.LocalizedValue) SmartExceptionDTO(com.runwaysdk.business.SmartExceptionDTO) Test(org.junit.Test)

Aggregations

TestUserInfo (net.geoprism.registry.test.TestUserInfo)53 Test (org.junit.Test)49 SmartExceptionDTO (com.runwaysdk.business.SmartExceptionDTO)37 JsonObject (com.google.gson.JsonObject)8 TestGeoObjectInfo (net.geoprism.registry.test.TestGeoObjectInfo)7 GeoObject (org.commongeoregistry.adapter.dataaccess.GeoObject)7 JsonArray (com.google.gson.JsonArray)5 ClassificationTypeTest (net.geoprism.registry.classification.ClassificationTypeTest)4 HierarchyType (org.commongeoregistry.adapter.metadata.HierarchyType)4 ArrayList (java.util.ArrayList)3 ServerHierarchyType (net.geoprism.registry.model.ServerHierarchyType)3 ListTypeTest (net.geoprism.registry.service.ListTypeTest)3 CurationControllerWrapper (net.geoprism.registry.test.curation.CurationControllerWrapper)3 UndirectedGraphControllerWrapper (net.geoprism.registry.test.graph.UndirectedGraphControllerWrapper)3 GeoObjectOverTime (org.commongeoregistry.adapter.dataaccess.GeoObjectOverTime)3 LocalizedValue (org.commongeoregistry.adapter.dataaccess.LocalizedValue)3 ServerChildGraphNode (net.geoprism.registry.model.ServerChildGraphNode)2 ServerParentGraphNode (net.geoprism.registry.model.ServerParentGraphNode)2 DirectedAcyclicGraphControllerWrapper (net.geoprism.registry.test.graph.DirectedAcyclicGraphControllerWrapper)2 RunwayExceptionDTO (com.runwaysdk.RunwayExceptionDTO)1