azkaban-aplcache

Merge pull request #524 from davidzchen/flow-tests Re-enable

10/13/2015 5:02:11 PM

Changes

build.gradle 5(+5 -0)

Details

diff --git a/azkaban-common/src/test/java/azkaban/executor/ExecutableFlowTest.java b/azkaban-common/src/test/java/azkaban/executor/ExecutableFlowTest.java
index 08b5f09..c6400f8 100644
--- a/azkaban-common/src/test/java/azkaban/executor/ExecutableFlowTest.java
+++ b/azkaban-common/src/test/java/azkaban/executor/ExecutableFlowTest.java
@@ -28,13 +28,13 @@ import org.apache.log4j.Logger;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import azkaban.executor.ExecutionOptions.FailureAction;
 import azkaban.flow.Flow;
 import azkaban.project.DirectoryFlowLoader;
 import azkaban.project.Project;
+import azkaban.test.executions.TestExecutions;
 import azkaban.utils.JSONUtils;
 import azkaban.utils.Props;
 
@@ -47,7 +47,8 @@ public class ExecutableFlowTest {
 
     Logger logger = Logger.getLogger(this.getClass());
     DirectoryFlowLoader loader = new DirectoryFlowLoader(new Props(), logger);
-    loader.loadProjectFlow(project, new File("unit/executions/embedded"));
+
+    loader.loadProjectFlow(project, TestExecutions.getFlowDir("embedded"));
     Assert.assertEquals(0, loader.getErrors().size());
 
     project.setFlows(loader.getFlowMap());
@@ -58,7 +59,7 @@ public class ExecutableFlowTest {
   public void tearDown() throws Exception {
   }
 
-  @Ignore @Test
+  @Test
   public void testExecutorFlowCreation() throws Exception {
     Flow flow = project.getFlow("jobe");
     Assert.assertNotNull(flow);
@@ -96,7 +97,7 @@ public class ExecutableFlowTest {
     Assert.assertEquals(4, jobdFlow.getExecutableNodes().size());
   }
 
-  @Ignore @Test
+  @Test
   public void testExecutorFlowJson() throws Exception {
     Flow flow = project.getFlow("jobe");
     Assert.assertNotNull(flow);
@@ -114,7 +115,7 @@ public class ExecutableFlowTest {
     testEquals(exFlow, parsedExFlow);
   }
 
-  @Ignore @Test
+  @Test
   public void testExecutorFlowJson2() throws Exception {
     Flow flow = project.getFlow("jobe");
     Assert.assertNotNull(flow);
@@ -154,7 +155,7 @@ public class ExecutableFlowTest {
   }
 
   @SuppressWarnings("rawtypes")
-  @Ignore @Test
+  @Test
   public void testExecutorFlowUpdates() throws Exception {
     Flow flow = project.getFlow("jobe");
     ExecutableFlow exFlow = new ExecutableFlow(project, flow);
@@ -250,7 +251,7 @@ public class ExecutableFlowTest {
     }
   }
 
-  public static void testEquals(ExecutableNode a, ExecutableNode b) {
+  private static void testEquals(ExecutableNode a, ExecutableNode b) {
     if (a instanceof ExecutableFlow) {
       if (b instanceof ExecutableFlow) {
         ExecutableFlow exA = (ExecutableFlow) a;
@@ -304,7 +305,7 @@ public class ExecutableFlowTest {
     Assert.assertEquals(a.getOutNodes(), a.getOutNodes());
   }
 
-  public static void testEquals(ExecutionOptions optionsA,
+  private static void testEquals(ExecutionOptions optionsA,
       ExecutionOptions optionsB) {
     Assert.assertEquals(optionsA.getConcurrentOption(),
         optionsB.getConcurrentOption());
@@ -329,7 +330,7 @@ public class ExecutableFlowTest {
     testEquals(optionsA.getFlowParameters(), optionsB.getFlowParameters());
   }
 
-  public static void testEquals(Set<String> a, Set<String> b) {
+  private static void testEquals(Set<String> a, Set<String> b) {
     if (a == b) {
       return;
     }
@@ -348,7 +349,7 @@ public class ExecutableFlowTest {
     }
   }
 
-  public static void testEquals(List<String> a, List<String> b) {
+  private static void testEquals(List<String> a, List<String> b) {
     if (a == b) {
       return;
     }
@@ -370,7 +371,7 @@ public class ExecutableFlowTest {
   }
 
   @SuppressWarnings("unchecked")
-  public static void testDisabledEquals(List<Object> a, List<Object> b) {
+  private static void testDisabledEquals(List<Object> a, List<Object> b) {
     if (a == b) {
       return;
     }
@@ -401,7 +402,7 @@ public class ExecutableFlowTest {
     }
   }
 
-  public static void testEquals(Map<String, String> a, Map<String, String> b) {
+  private static void testEquals(Map<String, String> a, Map<String, String> b) {
     if (a == b) {
       return;
     }
diff --git a/azkaban-common/src/test/java/azkaban/project/DirectoryFlowLoaderTest.java b/azkaban-common/src/test/java/azkaban/project/DirectoryFlowLoaderTest.java
index 9b2574c..bc2c4cd 100644
--- a/azkaban-common/src/test/java/azkaban/project/DirectoryFlowLoaderTest.java
+++ b/azkaban-common/src/test/java/azkaban/project/DirectoryFlowLoaderTest.java
@@ -17,42 +17,49 @@
 package azkaban.project;
 
 import java.io.File;
+import java.net.URL;
+import java.net.URISyntaxException;
 
+import azkaban.test.executions.TestExecutions;
 import azkaban.utils.Props;
 
 import org.apache.log4j.Logger;
 import org.junit.Assert;
-import org.junit.Ignore;
+import org.junit.Before;
 import org.junit.Test;
 
 public class DirectoryFlowLoaderTest {
+  private Project project;
 
-  Project project = new Project(11, "myTestProject");
+  @Before
+  public void setUp() {
+    project = new Project(11, "myTestProject");
+  }
 
-  @Ignore @Test
-  public void testDirectoryLoad() {
+  @Test
+  public void testDirectoryLoad() throws URISyntaxException {
     Logger logger = Logger.getLogger(this.getClass());
     DirectoryFlowLoader loader = new DirectoryFlowLoader(new Props(), logger);
 
-    loader.loadProjectFlow(project, new File("unit/executions/exectest1"));
+    loader.loadProjectFlow(project, TestExecutions.getFlowDir("exectest1"));
     logger.info(loader.getFlowMap().size());
   }
 
-  @Ignore @Test
-  public void testLoadEmbeddedFlow() {
+  @Test
+  public void testLoadEmbeddedFlow() throws URISyntaxException {
     Logger logger = Logger.getLogger(this.getClass());
     DirectoryFlowLoader loader = new DirectoryFlowLoader(new Props(), logger);
 
-    loader.loadProjectFlow(project, new File("unit/executions/embedded"));
+    loader.loadProjectFlow(project, TestExecutions.getFlowDir("embedded"));
     Assert.assertEquals(0, loader.getErrors().size());
   }
 
-  @Ignore @Test
-  public void testRecursiveLoadEmbeddedFlow() {
+  @Test
+  public void testRecursiveLoadEmbeddedFlow() throws URISyntaxException {
     Logger logger = Logger.getLogger(this.getClass());
     DirectoryFlowLoader loader = new DirectoryFlowLoader(new Props(), logger);
 
-    loader.loadProjectFlow(project, new File("unit/executions/embeddedBad"));
+    loader.loadProjectFlow(project, TestExecutions.getFlowDir("embedded_bad"));
     for (String error : loader.getErrors()) {
       System.out.println(error);
     }
diff --git a/azkaban-test/src/test/java/azkaban/test/executions/TestExecutions.java b/azkaban-test/src/test/java/azkaban/test/executions/TestExecutions.java
new file mode 100644
index 0000000..56cf0c6
--- /dev/null
+++ b/azkaban-test/src/test/java/azkaban/test/executions/TestExecutions.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2015 Azkaban Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package azkaban.test.executions;
+
+import java.io.File;
+import java.net.URL;
+import java.net.URISyntaxException;
+
+import org.junit.Assert;
+
+public class TestExecutions {
+  public static File getFlowDir(final String path) throws URISyntaxException {
+    URL url = TestExecutions.class.getResource(path);
+    Assert.assertNotNull(url);
+    return new File(url.toURI());
+  }
+}

build.gradle 5(+5 -0)

diff --git a/build.gradle b/build.gradle
index 7a5db1e..332e717 100644
--- a/build.gradle
+++ b/build.gradle
@@ -123,6 +123,7 @@ project(':azkaban-common') {
     compile('org.mortbay.jetty:jetty-util:6.1.26')
     compile('org.slf4j:slf4j-api:1.6.1')
 
+    testCompile(project(':azkaban-test').sourceSets.test.output)
     testCompile('junit:junit:4.11')
     testCompile('org.hamcrest:hamcrest-all:1.3')
   }
@@ -433,6 +434,10 @@ project(':azkaban-sql') {
 project(':azkaban-test') {
   apply plugin: 'distribution'
 
+  dependencies {
+    testCompile('junit:junit:4.11')
+  }
+
   distributions {
     animal {
       baseName = 'test-animal'