You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by lx...@apache.org on 2016/08/17 04:27:18 UTC

[22/33] helix git commit: Add unit test to retrieve workflow and job configurations.

Add unit test to retrieve workflow and job configurations.


Project: http://git-wip-us.apache.org/repos/asf/helix/repo
Commit: http://git-wip-us.apache.org/repos/asf/helix/commit/4f7fe130
Tree: http://git-wip-us.apache.org/repos/asf/helix/tree/4f7fe130
Diff: http://git-wip-us.apache.org/repos/asf/helix/diff/4f7fe130

Branch: refs/heads/helix-0.6.x
Commit: 4f7fe1306431210ee681a9eae64687f788f46bb3
Parents: 7f18483
Author: Lei Xia <lx...@linkedin.com>
Authored: Tue Apr 19 13:40:29 2016 -0700
Committer: Lei Xia <lx...@linkedin.com>
Committed: Tue Jul 5 16:17:03 2016 -0700

----------------------------------------------------------------------
 .../integration/task/TestRetrieveWorkflows.java | 75 ++++++++++++++++++++
 1 file changed, 75 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/helix/blob/4f7fe130/helix-core/src/test/java/org/apache/helix/integration/task/TestRetrieveWorkflows.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/task/TestRetrieveWorkflows.java b/helix-core/src/test/java/org/apache/helix/integration/task/TestRetrieveWorkflows.java
new file mode 100644
index 0000000..786be7c
--- /dev/null
+++ b/helix-core/src/test/java/org/apache/helix/integration/task/TestRetrieveWorkflows.java
@@ -0,0 +1,75 @@
+package org.apache.helix.integration.task;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+import org.apache.helix.HelixManagerFactory;
+import org.apache.helix.InstanceType;
+import org.apache.helix.TestHelper;
+import org.apache.helix.manager.zk.ZkClient;
+import org.apache.helix.task.JobConfig;
+import org.apache.helix.task.JobContext;
+import org.apache.helix.task.TaskDriver;
+import org.apache.helix.task.Workflow;
+import org.apache.helix.task.WorkflowConfig;
+import org.apache.helix.task.WorkflowContext;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+public class TestRetrieveWorkflows extends TaskTestBase {
+  @Test
+  public void testGetAllWorkflows() throws Exception {
+    List<Workflow> workflowList = new ArrayList<Workflow>();
+    for (int i = 0; i < 4; i++) {
+      Workflow workflow = WorkflowGenerator.generateDefaultRepeatedJobWorkflowBuilder(TestHelper.getTestMethodName() + i).build();
+      _driver.start(workflow);
+      workflowList.add(workflow);
+    }
+
+    for (Workflow workflow : workflowList) {
+      //TaskTestUtil.pollForWorkflowState(_driver, workflow.getName(), TaskState.COMPLETED);
+    }
+
+    _manager = HelixManagerFactory
+        .getZKHelixManager("ESPRESSO_TEST_NUAGE", "Admin", InstanceType.ADMINISTRATOR, "zk-ei1-espresso.stg.linkedin.com:12913");
+    _manager.connect();
+    TaskDriver taskDriver = new TaskDriver(_manager);
+
+    Map<String, WorkflowConfig> workflowConfigMap = taskDriver.getWorkflows();
+    Assert.assertEquals(workflowConfigMap.size(), workflowList.size());
+
+    for(Map.Entry<String, WorkflowConfig> workflow :  workflowConfigMap.entrySet()) {
+      WorkflowConfig workflowConfig = workflow.getValue();
+      WorkflowContext workflowContext = _driver.getWorkflowContext(workflow.getKey());
+      Assert.assertNotNull(workflowContext);
+
+      for(String job : workflowConfig.getJobDag().getAllNodes()) {
+        JobConfig jobConfig = _driver.getJobConfig(job);
+        JobContext jobContext = _driver.getJobContext(job);
+
+        Assert.assertNotNull(jobConfig);
+        Assert.assertNotNull(jobContext);
+      }
+    }
+  }
+}
+