azkaban-aplcache

Test cleanup: FlowRunnerTestBase (#1154) Simplify and

6/4/2017 5:16:59 PM

Details

diff --git a/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerTestBase.java b/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerTestBase.java
index c1138ea..ffa4970 100644
--- a/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerTestBase.java
+++ b/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerTestBase.java
@@ -21,10 +21,8 @@ public class FlowRunnerTestBase {
   public static boolean isStarted(final Status status) {
     if (status == Status.QUEUED) {
       return false;
-    } else if (!Status.isStatusFinished(status) && !Status.isStatusRunning(status)) {
-      return false;
     }
-    return true;
+    return Status.isStatusFinished(status) || Status.isStatusRunning(status);
   }
 
   public void assertThreadShutDown() {
@@ -105,17 +103,7 @@ public class FlowRunnerTestBase {
 
   protected void assertFlowStatus(final Status status) {
     final ExecutableFlow flow = this.runner.getExecutableFlow();
-    for (int i = 0; i < 100; i++) {
-      if (flow.getStatus() == status) {
-        break;
-      }
-      synchronized (EventCollectorListener.handleEvent) {
-        try {
-          EventCollectorListener.handleEvent.wait(10L);
-        } catch (final InterruptedException e) {
-        }
-      }
-    }
+    waitForStatus(flow, status);
     printStatuses(status, flow);
     assertEquals(status, flow.getStatus());
   }
@@ -124,6 +112,12 @@ public class FlowRunnerTestBase {
     final ExecutableFlow exFlow = this.runner.getExecutableFlow();
     final ExecutableNode node = exFlow.getExecutableNodePath(name);
     assertNotNull(name + " wasn't found", node);
+    waitForStatus(node, status);
+    printStatuses(status, node);
+    assertEquals("Wrong status for [" + name + "]", status, node.getStatus());
+  }
+
+  private void waitForStatus(ExecutableNode node, Status status) {
     for (int i = 0; i < 100; i++) {
       if (node.getStatus() == status) {
         break;
@@ -132,11 +126,10 @@ public class FlowRunnerTestBase {
         try {
           EventCollectorListener.handleEvent.wait(10L);
         } catch (final InterruptedException e) {
+          i--;
         }
       }
     }
-    printStatuses(status, node);
-    assertEquals("Wrong status for [" + name + "]", status, node.getStatus());
   }
 
   protected void printStatuses(final Status status, final ExecutableNode node) {