use of com.uber.cadence.client.WorkflowClient in project cadence-client by uber-java.
the class WorkflowTestingTest method testSignalWithDelayedCallback.
@Test
public void testSignalWithDelayedCallback() {
Worker worker = testEnvironment.newWorker(TASK_LIST);
worker.registerWorkflowImplementationTypes(SignaledWorkflowImpl.class);
worker.start();
WorkflowClient client = testEnvironment.newWorkflowClient();
SignaledWorkflow workflow = client.newWorkflowStub(SignaledWorkflow.class);
testEnvironment.registerDelayedCallback(Duration.ofMinutes(65), () -> workflow.ProcessSignal("signalInput"));
assertEquals("signalInput-input1", workflow.workflow1("input1"));
}
use of com.uber.cadence.client.WorkflowClient in project cadence-client by uber-java.
the class WorkflowTestingTest method testTimerCancellation.
@Test
public void testTimerCancellation() throws TException {
Worker worker = testEnvironment.newWorker(TASK_LIST);
worker.registerWorkflowImplementationTypes(TestTimerCancellationWorkflow.class);
worker.registerActivitiesImplementations(new ActivityImpl());
worker.start();
WorkflowClient client = testEnvironment.newWorkflowClient();
TestWorkflow workflow = client.newWorkflowStub(TestWorkflow.class);
WorkflowExecution execution = WorkflowClient.start(workflow::workflow1, "input1");
WorkflowStub untyped = client.newUntypedWorkflowStub(execution, Optional.empty());
testEnvironment.sleep(Duration.ofHours(1));
untyped.cancel();
try {
untyped.getResult(String.class);
fail("unreacheable");
} catch (CancellationException e) {
}
History history = testEnvironment.getWorkflowService().GetWorkflowExecutionHistory(new GetWorkflowExecutionHistoryRequest().setExecution(execution).setDomain(client.getDomain())).getHistory();
List<HistoryEvent> historyEvents = history.getEvents();
assertTrue(WorkflowExecutionUtils.prettyPrintHistory(history, false), WorkflowExecutionUtils.containsEvent(historyEvents, EventType.TimerCanceled));
}
use of com.uber.cadence.client.WorkflowClient in project cadence-client by uber-java.
the class WorkflowTestingTest method testActivityScheduleToCloseTimeout.
@Test
public void testActivityScheduleToCloseTimeout() {
Worker worker = testEnvironment.newWorker(TASK_LIST);
worker.registerWorkflowImplementationTypes(TestActivityTimeoutWorkflowImpl.class);
worker.registerActivitiesImplementations(new TimingOutActivityImpl());
worker.start();
WorkflowClient client = testEnvironment.newWorkflowClient();
TestActivityTimeoutWorkflow workflow = client.newWorkflowStub(TestActivityTimeoutWorkflow.class);
try {
workflow.workflow(1, 10, 10);
fail("unreacheable");
} catch (WorkflowException e) {
assertTrue(e.getCause() instanceof ActivityTimeoutException);
assertEquals(TimeoutType.SCHEDULE_TO_CLOSE, ((ActivityTimeoutException) e.getCause()).getTimeoutType());
}
}
use of com.uber.cadence.client.WorkflowClient in project cadence-client by uber-java.
the class WorkflowTestingTest method testEmptyWorkflow.
@Test
public void testEmptyWorkflow() {
Worker worker = testEnvironment.newWorker(TASK_LIST);
worker.registerWorkflowImplementationTypes(EmptyWorkflowImpl.class);
worker.start();
WorkflowClient client = testEnvironment.newWorkflowClient();
TestWorkflow workflow = client.newWorkflowStub(TestWorkflow.class);
String result = workflow.workflow1("input1");
assertEquals("TestWorkflow::workflow1-input1", result);
}
use of com.uber.cadence.client.WorkflowClient in project cadence-client by uber-java.
the class WorkflowTestingTest method testChild.
@Test
public void testChild() {
Worker worker = testEnvironment.newWorker(TASK_LIST);
worker.registerWorkflowImplementationTypes(ChildWorklfowImpl.class, ParentWorkflowImpl.class);
worker.start();
WorkflowClient client = testEnvironment.newWorkflowClient();
WorkflowOptions options = new WorkflowOptions.Builder().setWorkflowId("parent1").build();
ParentWorkflow workflow = client.newWorkflowStub(ParentWorkflow.class, options);
String result = workflow.workflow("input1");
assertEquals("child input1", result);
}
Aggregations