Search in sources :

Example 1 with CurationControllerWrapper

use of net.geoprism.registry.test.curation.CurationControllerWrapper 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 CurationControllerWrapper

use of net.geoprism.registry.test.curation.CurationControllerWrapper 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 CurationControllerWrapper

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

the class CurationTest method testCurate.

@Test
public void testCurate() throws Throwable {
    Object[] setup = setUpTestCurate();
    final TestGeoObjectInfo noGeomGo = (TestGeoObjectInfo) setup[0];
    final String listTypeVersionId = (String) setup[1];
    // 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) -> {
            final CurationControllerWrapper controller = new CurationControllerWrapper(adapter, request);
            JsonObject joHistory = controller.curate(listTypeVersionId);
            try {
                waitUntilSuccess(joHistory);
            } catch (Throwable e) {
                throw new RuntimeException(e);
            }
            JsonObject page = controller.page(joHistory.get("historyId").getAsString(), false, 10, 1);
            JsonArray results = page.get("resultSet").getAsJsonArray();
            Assert.assertEquals(1, results.size());
            for (int i = 0; i < results.size(); ++i) {
                JsonObject problem = results.get(i).getAsJsonObject();
                Assert.assertEquals(joHistory.get("historyId").getAsString(), problem.get("historyId").getAsString());
                Assert.assertEquals(CurationResolution.UNRESOLVED.name(), problem.get("resolution").getAsString());
                Assert.assertEquals(GeoObjectProblemType.NO_GEOMETRY.name(), problem.get("type").getAsString());
                Assert.assertTrue(problem.get("id").getAsString() != null && problem.get("id").getAsString() != "");
                Assert.assertEquals(FastTestDataset.PROVINCE.getCode(), problem.get("typeCode").getAsString());
                Assert.assertEquals(noGeomGo.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) -> {
            final CurationControllerWrapper controller = new CurationControllerWrapper(adapter, request);
            try {
                controller.curate(listTypeVersionId);
                Assert.fail("Expected to get an exception.");
            } catch (SmartExceptionDTO e) {
                Assert.assertTrue(OrganizationRAException.CLASS.equals(e.getType()) || OrganizationRMException.CLASS.equals(e.getType()));
            }
        });
    }
}
Also used : CurationControllerWrapper(net.geoprism.registry.test.curation.CurationControllerWrapper) JsonObject(com.google.gson.JsonObject) JsonArray(com.google.gson.JsonArray) TestUserInfo(net.geoprism.registry.test.TestUserInfo) JsonObject(com.google.gson.JsonObject) SmartExceptionDTO(com.runwaysdk.business.SmartExceptionDTO) TestGeoObjectInfo(net.geoprism.registry.test.TestGeoObjectInfo) ListTypeTest(net.geoprism.registry.service.ListTypeTest) Test(org.junit.Test)

Aggregations

JsonObject (com.google.gson.JsonObject)3 SmartExceptionDTO (com.runwaysdk.business.SmartExceptionDTO)3 ListTypeTest (net.geoprism.registry.service.ListTypeTest)3 TestUserInfo (net.geoprism.registry.test.TestUserInfo)3 CurationControllerWrapper (net.geoprism.registry.test.curation.CurationControllerWrapper)3 Test (org.junit.Test)3 JsonArray (com.google.gson.JsonArray)2 TestGeoObjectInfo (net.geoprism.registry.test.TestGeoObjectInfo)1