|
23 | 23 | import org.junit.jupiter.api.Test; |
24 | 24 |
|
25 | 25 | import com.netflix.conductor.client.exception.ConductorClientException; |
| 26 | +import com.netflix.conductor.common.metadata.tasks.TaskType; |
26 | 27 | import com.netflix.conductor.common.metadata.tasks.Task; |
27 | 28 | import com.netflix.conductor.common.metadata.tasks.TaskResult; |
| 29 | +import com.netflix.conductor.common.metadata.workflow.WorkflowDef; |
| 30 | +import com.netflix.conductor.common.metadata.workflow.WorkflowTask; |
28 | 31 | import com.netflix.conductor.common.metadata.workflow.IdempotencyStrategy; |
29 | 32 | import com.netflix.conductor.common.metadata.workflow.StartWorkflowRequest; |
30 | 33 | import com.netflix.conductor.common.run.Workflow; |
|
42 | 45 | public class WorkflowStateUpdateTests { |
43 | 46 |
|
44 | 47 | private static OrkesWorkflowClient workflowClient; |
| 48 | + private static OrkesMetadataClient metadataClient; |
45 | 49 |
|
46 | 50 | @BeforeAll |
47 | 51 | public static void init() { |
48 | 52 | workflowClient = ClientTestUtil.getOrkesClients().getWorkflowClient(); |
| 53 | + metadataClient = ClientTestUtil.getOrkesClients().getMetadataClient(); |
| 54 | + |
| 55 | + // Ensure required workflow exists on fresh clusters |
| 56 | + try { |
| 57 | + metadataClient.getWorkflowDef("sync_task_variable_updates", 1); |
| 58 | + } catch (ConductorClientException e) { |
| 59 | + if (e.getStatus() == 404) { |
| 60 | + WorkflowDef def = new WorkflowDef(); |
| 61 | + def.setName("sync_task_variable_updates"); |
| 62 | + def.setVersion(1); |
| 63 | + def. setOwnerEmail( "[email protected]"); |
| 64 | + |
| 65 | + WorkflowTask wait1 = new WorkflowTask(); |
| 66 | + wait1.setName(TaskType.WAIT.name()); |
| 67 | + wait1.setTaskReferenceName("wait_task_ref"); |
| 68 | + wait1.setType(TaskType.WAIT.name()); |
| 69 | + |
| 70 | + WorkflowTask wait2 = new WorkflowTask(); |
| 71 | + wait2.setName(TaskType.WAIT.name()); |
| 72 | + wait2.setTaskReferenceName("wait_task_ref_2"); |
| 73 | + wait2.setType(TaskType.WAIT.name()); |
| 74 | + |
| 75 | + def.setTasks(List.of(wait1, wait2)); |
| 76 | + metadataClient.registerWorkflowDef(def); |
| 77 | + } else { |
| 78 | + throw e; |
| 79 | + } |
| 80 | + } |
49 | 81 | } |
50 | 82 |
|
51 | 83 | @SneakyThrows |
|
0 commit comments