Repository: falcon Updated Branches: refs/heads/master 8671eae06 -> 41631f955
FALCON-1679 API to get type of scheduler(native/oozie) Project: http://git-wip-us.apache.org/repos/asf/falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/falcon/commit/41631f95 Tree: http://git-wip-us.apache.org/repos/asf/falcon/tree/41631f95 Diff: http://git-wip-us.apache.org/repos/asf/falcon/diff/41631f95 Branch: refs/heads/master Commit: 41631f955d17ac49e40f6360bba0c13cf51c7a4c Parents: 8671eae Author: Pallavi Rao <[email protected]> Authored: Tue Dec 29 10:56:07 2015 +0530 Committer: Pallavi Rao <[email protected]> Committed: Tue Dec 29 10:56:07 2015 +0530 ---------------------------------------------------------------------- CHANGES.txt | 2 + .../org/apache/falcon/cli/FalconEntityCLI.java | 10 ++++- .../falcon/client/AbstractFalconClient.java | 5 ++- .../org/apache/falcon/client/FalconClient.java | 21 +++++++---- .../falcon/resource/AbstractEntityManager.java | 22 +++++++---- .../proxy/SchedulableEntityManagerProxy.java | 6 ++- .../apache/falcon/aspect/LoggingAspectTest.java | 4 +- .../apache/falcon/unit/FalconUnitClient.java | 6 +-- .../unit/LocalSchedulableEntityManager.java | 4 +- .../org/apache/falcon/unit/TestFalconUnit.java | 4 +- .../resource/SchedulableEntityManager.java | 5 ++- .../AbstractSchedulerManagerJerseyIT.java | 8 ++++ .../falcon/resource/EntityManagerJerseyIT.java | 10 ++--- .../EntitySchedulerManagerJerseyIT.java | 39 ++++++++------------ 14 files changed, 86 insertions(+), 60 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 5be5cac..e268ce4 100755 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,6 +9,8 @@ Trunk (Unreleased) INCOMPATIBLE CHANGES NEW FEATURES + FALCON-1679 API to get type of scheduler(native/oozie) (Pallavi Rao) + FALCON-1645 Ability to export to database(Venkat Ramachandran via Balu Vellanki) FALCON-1639 Implement update feature for native scheduler (Pallavi Rao) http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/client/src/main/java/org/apache/falcon/cli/FalconEntityCLI.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/falcon/cli/FalconEntityCLI.java b/client/src/main/java/org/apache/falcon/cli/FalconEntityCLI.java index cb39a2f..6f9d620 100644 --- a/client/src/main/java/org/apache/falcon/cli/FalconEntityCLI.java +++ b/client/src/main/java/org/apache/falcon/cli/FalconEntityCLI.java @@ -59,6 +59,7 @@ public class FalconEntityCLI extends FalconCLI { private static final String NUM_INSTANCES_OPT = "numInstances"; private static final String NAMESEQ_OPT = "nameseq"; private static final String TAGKEYS_OPT = "tagkeys"; + private static final String SHOWSCHEDULER_OPT = "showScheduler"; public FalconEntityCLI() throws Exception { super(); @@ -148,6 +149,8 @@ public class FalconEntityCLI extends FalconCLI { Option skipDryRun = new Option(SKIPDRYRUN_OPT, false, "skip dry run in workflow engine"); Option doAs = new Option(DO_AS_OPT, true, "doAs user"); Option userProps = new Option(PROPS_OPT, true, "User supplied comma separated key value properties"); + Option showScheduler = new Option(SHOWSCHEDULER_OPT, false, "To return the scheduler " + + "on which the entity is scheduled."); Option debug = new Option(DEBUG_OPTION, false, "Use debug mode to see debugging statements on stdout"); entityOptions.addOption(url); @@ -174,6 +177,7 @@ public class FalconEntityCLI extends FalconCLI { entityOptions.addOption(doAs); entityOptions.addOption(userProps); entityOptions.addOption(debug); + entityOptions.addOption(showScheduler); return entityOptions; } @@ -213,6 +217,10 @@ public class FalconEntityCLI extends FalconCLI { } String userProps = commandLine.getOptionValue(PROPS_OPT); + boolean showScheduler = false; + if (optionsList.contains(SHOWSCHEDULER_OPT)) { + showScheduler = true; + } EntityType entityTypeEnum = null; if (optionsList.contains(LIST_OPT)) { @@ -280,7 +288,7 @@ public class FalconEntityCLI extends FalconCLI { } else if (optionsList.contains(STATUS_OPT)) { validateNotEmpty(entityName, ENTITY_NAME_OPT); colo = getColo(colo); - result = client.getStatus(entityTypeEnum, entityName, colo, doAsUser).getMessage(); + result = client.getStatus(entityTypeEnum, entityName, colo, doAsUser, showScheduler).getMessage(); } else if (optionsList.contains(DEFINITION_OPT)) { validateColo(optionsList); validateNotEmpty(entityName, ENTITY_NAME_OPT); http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/client/src/main/java/org/apache/falcon/client/AbstractFalconClient.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/falcon/client/AbstractFalconClient.java b/client/src/main/java/org/apache/falcon/client/AbstractFalconClient.java index 43a342d..e59af24 100644 --- a/client/src/main/java/org/apache/falcon/client/AbstractFalconClient.java +++ b/client/src/main/java/org/apache/falcon/client/AbstractFalconClient.java @@ -171,11 +171,12 @@ public abstract class AbstractFalconClient { * @param entityName Name of the entity. * @param colo Colo on which the query should be run. * @param doAsUser proxy user + * @param showScheduler whether the call should return the scheduler on which the entity is scheduled. * @return Status of the entity. * @throws FalconCLIException */ - public abstract APIResult getStatus(EntityType entityType, String entityName, String colo, String doAsUser) throws - FalconCLIException; + public abstract APIResult getStatus(EntityType entityType, String entityName, String colo, String doAsUser, + boolean showScheduler) throws FalconCLIException; /** * Submits and schedules an entity. http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/client/src/main/java/org/apache/falcon/client/FalconClient.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/falcon/client/FalconClient.java b/client/src/main/java/org/apache/falcon/client/FalconClient.java index aea39a6..00aa167 100644 --- a/client/src/main/java/org/apache/falcon/client/FalconClient.java +++ b/client/src/main/java/org/apache/falcon/client/FalconClient.java @@ -387,10 +387,10 @@ public class FalconClient extends AbstractFalconClient { entityType, entityStream, null, skipDryRun, doAsUser, properties); } - public APIResult getStatus(EntityType entityType, String entityName, String colo, String doAsUser) - throws FalconCLIException { + public APIResult getStatus(EntityType entityType, String entityName, String colo, + String doAsUser, boolean showScheduler) throws FalconCLIException { - return sendEntityRequest(Entities.STATUS, entityType, entityName, colo, null, doAsUser, null); + return sendEntityRequest(Entities.STATUS, entityType, entityName, colo, null, doAsUser, null, showScheduler); } public Entity getDefinition(String entityType, String entityName, String doAsUser) @@ -671,10 +671,9 @@ public class FalconClient extends AbstractFalconClient { return stream; } - private APIResult sendEntityRequest(Entities entities, EntityType entityType, - String entityName, String colo, Boolean skipDryRun, - String doAsUser, String properties) throws FalconCLIException { - + private APIResult sendEntityRequest(Entities entities, EntityType entityType, String entityName, + String colo, Boolean skipDryRun, String doAsUser, String properties, + boolean showScheduler) throws FalconCLIException { WebResource resource = service.path(entities.path) .path(entityType.toString().toLowerCase()).path(entityName); if (colo != null) { @@ -691,6 +690,8 @@ public class FalconClient extends AbstractFalconClient { resource = resource.queryParam("properties", properties); } + resource = resource.queryParam("showScheduler", Boolean.toString(showScheduler)); + ClientResponse clientResponse = resource .header("Cookie", AUTH_COOKIE_EQ + authenticationToken) .accept(entities.mimeType).type(MediaType.TEXT_XML) @@ -704,6 +705,12 @@ public class FalconClient extends AbstractFalconClient { return clientResponse.getEntity(APIResult.class); } + private APIResult sendEntityRequest(Entities entities, EntityType entityType, + String entityName, String colo, Boolean skipDryRun, + String doAsUser, String properties) throws FalconCLIException { + return sendEntityRequest(entities, entityType, entityName, colo, skipDryRun, doAsUser, properties, false); + } + private WebResource addParamsToResource(WebResource resource, String start, String end, String runId, String colo, String fields, String nameSubsequence, String tagKeywords, String filterBy, http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/prism/src/main/java/org/apache/falcon/resource/AbstractEntityManager.java ---------------------------------------------------------------------- diff --git a/prism/src/main/java/org/apache/falcon/resource/AbstractEntityManager.java b/prism/src/main/java/org/apache/falcon/resource/AbstractEntityManager.java index 5a6d2dc..0ea2e4e 100644 --- a/prism/src/main/java/org/apache/falcon/resource/AbstractEntityManager.java +++ b/prism/src/main/java/org/apache/falcon/resource/AbstractEntityManager.java @@ -530,7 +530,10 @@ public abstract class AbstractEntityManager { return new String(data); } - protected enum EntityStatus { + /** + * Enumeration of all possible status of an entity. + */ + public enum EntityStatus { SUBMITTED, SUSPENDED, RUNNING, COMPLETED } @@ -539,17 +542,21 @@ public abstract class AbstractEntityManager { * * @param type entity type * @param entity entity name + * @param showScheduler whether to return the scheduler on which the entity is scheduled. * @return String */ - public APIResult getStatus(String type, String entity, String colo) { + public APIResult getStatus(String type, String entity, String colo, Boolean showScheduler) { checkColo(colo); Entity entityObj; try { entityObj = EntityUtil.getEntity(type, entity); EntityType entityType = EntityType.getEnum(type); - EntityStatus status = getStatus(entityObj, entityType); - return new APIResult(Status.SUCCEEDED, status.name()); + Pair<EntityStatus, String> status = getStatus(entityObj, entityType); + String statusString = status.first.name(); + return new APIResult(Status.SUCCEEDED, (status.first != EntityStatus.SUBMITTED + && showScheduler != null && showScheduler) + ? statusString + " (scheduled on " + status.second + ")" : statusString); } catch (FalconWebException e) { throw e; } catch (Exception e) { @@ -558,9 +565,8 @@ public abstract class AbstractEntityManager { } } - protected EntityStatus getStatus(Entity entity, EntityType type) throws FalconException { + protected Pair<EntityStatus, String> getStatus(Entity entity, EntityType type) throws FalconException { EntityStatus status = EntityStatus.SUBMITTED; - AbstractWorkflowEngine workflowEngine = getWorkflowEngine(entity); if (type.isSchedulable()) { if (workflowEngine.isActive(entity)) { @@ -573,7 +579,7 @@ public abstract class AbstractEntityManager { status = EntityStatus.COMPLETED; } } - return status; + return new Pair<>(status, workflowEngine.getName()); } /** @@ -851,7 +857,7 @@ public abstract class AbstractEntityManager { protected String getStatusString(Entity entity) { String statusString; try { - statusString = getStatus(entity, entity.getEntityType()).name(); + statusString = getStatus(entity, entity.getEntityType()).first.name(); } catch (Throwable throwable) { // Unable to fetch statusString, setting it to unknown for backwards compatibility statusString = "UNKNOWN"; http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/prism/src/main/java/org/apache/falcon/resource/proxy/SchedulableEntityManagerProxy.java ---------------------------------------------------------------------- diff --git a/prism/src/main/java/org/apache/falcon/resource/proxy/SchedulableEntityManagerProxy.java b/prism/src/main/java/org/apache/falcon/resource/proxy/SchedulableEntityManagerProxy.java index d3ba189..dfed5af 100644 --- a/prism/src/main/java/org/apache/falcon/resource/proxy/SchedulableEntityManagerProxy.java +++ b/prism/src/main/java/org/apache/falcon/resource/proxy/SchedulableEntityManagerProxy.java @@ -416,6 +416,7 @@ public class SchedulableEntityManagerProxy extends AbstractSchedulableEntityMana * @param type Valid options are cluster, feed or process. * @param entity Name of the entity. * @param coloExpr Colo on which the query should be run. + * @param showScheduler whether the call should return the scheduler on which the entity is scheduled. * @return Status of the entity. */ @GET @@ -425,7 +426,8 @@ public class SchedulableEntityManagerProxy extends AbstractSchedulableEntityMana @Override public APIResult getStatus(@Dimension("entityType") @PathParam("type") final String type, @Dimension("entityName") @PathParam("entity") final String entity, - @Dimension("colo") @QueryParam("colo") final String coloExpr) { + @Dimension("colo") @QueryParam("colo") final String coloExpr, + @Dimension("showScheduler") @QueryParam("showScheduler") final Boolean showScheduler) { return new EntityProxy(type, entity) { @Override protected Set<String> getColosToApply() { @@ -434,7 +436,7 @@ public class SchedulableEntityManagerProxy extends AbstractSchedulableEntityMana @Override protected APIResult doExecute(String colo) throws FalconException { - return getEntityManager(colo).invoke("getStatus", type, entity, colo); + return getEntityManager(colo).invoke("getStatus", type, entity, colo, showScheduler); } }.execute(); } http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/prism/src/test/java/org/apache/falcon/aspect/LoggingAspectTest.java ---------------------------------------------------------------------- diff --git a/prism/src/test/java/org/apache/falcon/aspect/LoggingAspectTest.java b/prism/src/test/java/org/apache/falcon/aspect/LoggingAspectTest.java index ee60f4f..de31dd0 100644 --- a/prism/src/test/java/org/apache/falcon/aspect/LoggingAspectTest.java +++ b/prism/src/test/java/org/apache/falcon/aspect/LoggingAspectTest.java @@ -37,13 +37,13 @@ public class LoggingAspectTest { @Test(expectedExceptions = FalconWebException.class) public void testBeanLoading() { - em.getStatus("type", "entity", "colo"); + em.getStatus("type", "entity", "colo", false); } @Test public void testExceptionBeanLoading() { try { - em.getStatus("type", "entity", "colo"); + em.getStatus("type", "entity", "colo", false); System.out.println(); } catch (Exception e) { http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/unit/src/main/java/org/apache/falcon/unit/FalconUnitClient.java ---------------------------------------------------------------------- diff --git a/unit/src/main/java/org/apache/falcon/unit/FalconUnitClient.java b/unit/src/main/java/org/apache/falcon/unit/FalconUnitClient.java index e86e3e8..13375ef 100644 --- a/unit/src/main/java/org/apache/falcon/unit/FalconUnitClient.java +++ b/unit/src/main/java/org/apache/falcon/unit/FalconUnitClient.java @@ -250,9 +250,9 @@ public class FalconUnitClient extends AbstractFalconClient { } @Override - public APIResult getStatus(EntityType entityType, String entityName, String colo, String doAsUser) throws - FalconCLIException { - return localSchedulableEntityManager.getStatus(entityType.name(), entityName, colo); + public APIResult getStatus(EntityType entityType, String entityName, String colo, String doAsUser, + boolean showScheduler) throws FalconCLIException { + return localSchedulableEntityManager.getStatus(entityType.name(), entityName, colo, showScheduler); } @Override http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/unit/src/main/java/org/apache/falcon/unit/LocalSchedulableEntityManager.java ---------------------------------------------------------------------- diff --git a/unit/src/main/java/org/apache/falcon/unit/LocalSchedulableEntityManager.java b/unit/src/main/java/org/apache/falcon/unit/LocalSchedulableEntityManager.java index d30b028..7398c8a 100644 --- a/unit/src/main/java/org/apache/falcon/unit/LocalSchedulableEntityManager.java +++ b/unit/src/main/java/org/apache/falcon/unit/LocalSchedulableEntityManager.java @@ -45,8 +45,8 @@ public class LocalSchedulableEntityManager extends AbstractSchedulableEntityMana return super.resume(null, type, entity, colo); } - public APIResult getStatus(String type, String entity, String colo) { - return super.getStatus(type, entity, colo); + public APIResult getStatus(String type, String entity, String colo, boolean showScheduler) { + return super.getStatus(type, entity, colo, showScheduler); } public APIResult delete(EntityType entityType, String entityName, String colo) { http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/unit/src/test/java/org/apache/falcon/unit/TestFalconUnit.java ---------------------------------------------------------------------- diff --git a/unit/src/test/java/org/apache/falcon/unit/TestFalconUnit.java b/unit/src/test/java/org/apache/falcon/unit/TestFalconUnit.java index 68c09d5..7c76660 100644 --- a/unit/src/test/java/org/apache/falcon/unit/TestFalconUnit.java +++ b/unit/src/test/java/org/apache/falcon/unit/TestFalconUnit.java @@ -118,12 +118,12 @@ public class TestFalconUnit extends FalconUnitTestBase { waitForStatus(EntityType.PROCESS.name(), PROCESS_NAME, SCHEDULE_TIME, InstancesResult.WorkflowStatus.SUCCEEDED); result = getClient().suspend(EntityType.PROCESS, PROCESS_NAME, CLUSTER_NAME, null); assertStatus(result); - result = getClient().getStatus(EntityType.PROCESS, PROCESS_NAME, CLUSTER_NAME, null); + result = getClient().getStatus(EntityType.PROCESS, PROCESS_NAME, CLUSTER_NAME, null, false); assertStatus(result); Assert.assertEquals(result.getMessage(), "SUSPENDED"); result = getClient().resume(EntityType.PROCESS, PROCESS_NAME, CLUSTER_NAME, null); assertStatus(result); - result = getClient().getStatus(EntityType.PROCESS, PROCESS_NAME, CLUSTER_NAME, null); + result = getClient().getStatus(EntityType.PROCESS, PROCESS_NAME, CLUSTER_NAME, null, false); assertStatus(result); Assert.assertEquals(result.getMessage(), "RUNNING"); } http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java ---------------------------------------------------------------------- diff --git a/webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java b/webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java index 4a20e41..0c7786f 100644 --- a/webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java +++ b/webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java @@ -49,8 +49,9 @@ public class SchedulableEntityManager extends AbstractSchedulableEntityManager { @Override public APIResult getStatus(@Dimension("entityType") @PathParam("type") String type, @Dimension("entityName") @PathParam("entity") String entity, - @Dimension("colo") @QueryParam("colo") final String colo) { - return super.getStatus(type, entity, colo); + @Dimension("colo") @QueryParam("colo") final String colo, + @Dimension("showScheduler") @QueryParam("showScheduler") final Boolean showScheduler) { + return super.getStatus(type, entity, colo, showScheduler); } @GET http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/webapp/src/test/java/org/apache/falcon/resource/AbstractSchedulerManagerJerseyIT.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/falcon/resource/AbstractSchedulerManagerJerseyIT.java b/webapp/src/test/java/org/apache/falcon/resource/AbstractSchedulerManagerJerseyIT.java index 5001fe6..f053b76 100644 --- a/webapp/src/test/java/org/apache/falcon/resource/AbstractSchedulerManagerJerseyIT.java +++ b/webapp/src/test/java/org/apache/falcon/resource/AbstractSchedulerManagerJerseyIT.java @@ -232,4 +232,12 @@ public class AbstractSchedulerManagerJerseyIT extends FalconUnitTestBase { return list; } + public void assertEntityStatus(APIResult apiResult) { + super.assertStatus(apiResult); + String message = apiResult.getMessage(); + if (!message.contains(AbstractEntityManager.EntityStatus.SUBMITTED.name())) { + Assert.assertTrue(message.contains("native")); + } + } + } http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/webapp/src/test/java/org/apache/falcon/resource/EntityManagerJerseyIT.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/falcon/resource/EntityManagerJerseyIT.java b/webapp/src/test/java/org/apache/falcon/resource/EntityManagerJerseyIT.java index 7157766..f336422 100644 --- a/webapp/src/test/java/org/apache/falcon/resource/EntityManagerJerseyIT.java +++ b/webapp/src/test/java/org/apache/falcon/resource/EntityManagerJerseyIT.java @@ -258,7 +258,7 @@ public class EntityManagerJerseyIT extends AbstractSchedulerManagerJerseyIT { null); Assert.assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED); result = falconUnitClient.getStatus(EntityType.PROCESS, context.processName, context.clusterName, - null); + null, false); Assert.assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED); Assert.assertEquals(result.getMessage(), "SUSPENDED"); @@ -415,7 +415,7 @@ public class EntityManagerJerseyIT extends AbstractSchedulerManagerJerseyIT { submitFeed(UnitTestContext.FEED_TEMPLATE1, context.overlay); APIResult result = falconUnitClient.getStatus(EntityType.FEED, context.overlay.get("inputFeedName"), - context.colo, null); + context.colo, null, false); Assert.assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED); Assert.assertEquals(result.getMessage(), "SUBMITTED"); } @@ -431,7 +431,7 @@ public class EntityManagerJerseyIT extends AbstractSchedulerManagerJerseyIT { public void testNotFoundStatus() throws FalconException, IOException, FalconCLIException { String feed1 = "f1" + System.currentTimeMillis(); try { - falconUnitClient.getStatus(EntityType.FEED, feed1, null, null); + falconUnitClient.getStatus(EntityType.FEED, feed1, null, null, false); Assert.fail("Exception should be Thrown"); } catch (Exception e) { //ignore @@ -648,7 +648,7 @@ public class EntityManagerJerseyIT extends AbstractSchedulerManagerJerseyIT { context.colo, null); Assert.assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED); result = falconUnitClient.getStatus(EntityType.PROCESS, context.processName, context.clusterName, - null); + null, false); Assert.assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED); Assert.assertEquals(result.getMessage(), "SUSPENDED"); @@ -656,7 +656,7 @@ public class EntityManagerJerseyIT extends AbstractSchedulerManagerJerseyIT { context.colo, null); Assert.assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED); result = falconUnitClient.getStatus(EntityType.PROCESS, context.processName, context.clusterName, - null); + null, false); Assert.assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED); Assert.assertEquals(result.getMessage(), "RUNNING"); } http://git-wip-us.apache.org/repos/asf/falcon/blob/41631f95/webapp/src/test/java/org/apache/falcon/resource/EntitySchedulerManagerJerseyIT.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/falcon/resource/EntitySchedulerManagerJerseyIT.java b/webapp/src/test/java/org/apache/falcon/resource/EntitySchedulerManagerJerseyIT.java index 67a51d9..1be2b5f 100644 --- a/webapp/src/test/java/org/apache/falcon/resource/EntitySchedulerManagerJerseyIT.java +++ b/webapp/src/test/java/org/apache/falcon/resource/EntitySchedulerManagerJerseyIT.java @@ -18,7 +18,6 @@ package org.apache.falcon.resource; import org.apache.falcon.entity.v0.EntityType; -import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -49,16 +48,14 @@ public class EntitySchedulerManagerJerseyIT extends AbstractSchedulerManagerJers submitProcess(overlay); String processName = overlay.get(PROCESS_NAME); - APIResult result = falconUnitClient.getStatus(EntityType.PROCESS, overlay.get(PROCESS_NAME), cluster, null); - assertStatus(result); - Assert.assertEquals(AbstractEntityManager.EntityStatus.SUBMITTED.name(), result.getMessage()); + APIResult result = falconUnitClient.getStatus(EntityType.PROCESS, overlay.get(PROCESS_NAME), cluster, null, + true); + assertEntityStatus(result); scheduleProcess(processName, cluster, START_INSTANCE, 1); - result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null); - assertStatus(result); - Assert.assertEquals(AbstractEntityManager.EntityStatus.RUNNING.name(), result.getMessage()); - + result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null, true); + assertEntityStatus(result); } @Test @@ -73,29 +70,24 @@ public class EntitySchedulerManagerJerseyIT extends AbstractSchedulerManagerJers submitProcess(overlay); String processName = overlay.get(PROCESS_NAME); - APIResult result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null); - assertStatus(result); - Assert.assertEquals(AbstractEntityManager.EntityStatus.SUBMITTED.name(), result.getMessage()); + APIResult result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null, true); + assertEntityStatus(result); scheduleProcess(processName, cluster, START_INSTANCE, 1); result = falconUnitClient.suspend(EntityType.PROCESS, processName, cluster, null); assertStatus(result); - result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null); - assertStatus(result); - Assert.assertEquals(AbstractEntityManager.EntityStatus.SUSPENDED.name(), result.getMessage()); + result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null, true); + assertEntityStatus(result); result = falconUnitClient.resume(EntityType.PROCESS, processName, cluster, null); assertStatus(result); - result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null); - assertStatus(result); - Assert.assertEquals(AbstractEntityManager.EntityStatus.RUNNING.name(), result.getMessage()); - + result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null, true); + assertEntityStatus(result); } - @Test public void testProcessDelete() throws Exception { UnitTestContext context = new UnitTestContext(); @@ -108,14 +100,13 @@ public class EntitySchedulerManagerJerseyIT extends AbstractSchedulerManagerJers submitProcess(overlay); String processName = overlay.get(PROCESS_NAME); - APIResult result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null); - assertStatus(result); - Assert.assertEquals(AbstractEntityManager.EntityStatus.SUBMITTED.name(), result.getMessage()); + APIResult result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null, true); + assertEntityStatus(result); scheduleProcess(processName, cluster, START_INSTANCE, 1); - result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null); - assertStatus(result); + result = falconUnitClient.getStatus(EntityType.PROCESS, processName, cluster, null, true); + assertEntityStatus(result); result = falconUnitClient.delete(EntityType.PROCESS, processName, cluster); assertStatus(result);
