use of io.temporal.testing.TestWorkflowEnvironment in project sdk-java by temporalio.
the class TestEnvironmentCloseTest method testCloseNotHanging.
@Test
public void testCloseNotHanging() {
TestWorkflowEnvironment env = TestWorkflowEnvironment.newInstance();
Worker worker = env.newWorker("WW");
worker.registerWorkflowImplementationTypes(WW.class);
worker.registerActivitiesImplementations(new AA());
long start = System.currentTimeMillis();
env.close();
long elapsed = System.currentTimeMillis() - start;
assertTrue(elapsed < 5000);
}
use of io.temporal.testing.TestWorkflowEnvironment in project sdk-java by temporalio.
the class DynamicWorkflowTest method testDynamicWorkflow.
@Test
public void testDynamicWorkflow() {
TestWorkflowEnvironment testEnvironment = testWorkflowRule.getTestEnvironment();
testEnvironment.getWorkerFactory().getWorker(testWorkflowRule.getTaskQueue()).registerWorkflowImplementationTypes(DynamicWorkflowImpl.class);
testEnvironment.start();
WorkflowOptions workflowOptions = WorkflowOptions.newBuilder().setTaskQueue(testWorkflowRule.getTaskQueue()).build();
WorkflowStub workflow = testWorkflowRule.getWorkflowClient().newUntypedWorkflowStub("workflowFoo", workflowOptions);
workflow.signalWithStart("signal1", new Object[] { "signalArg0" }, new Object[] { "startArg0" });
String queryResult = workflow.query("query1", String.class, "queryArg0");
assertEquals("query1-queryArg0-signal1-signalArg0", queryResult);
String result = workflow.getResult(String.class);
assertEquals("activityType2-activityType1-startArg0-workflowFoo", result);
}
use of io.temporal.testing.TestWorkflowEnvironment in project sdk-java by temporalio.
the class DynamicWorkflowTest method testDynamicWorkflowFactory.
@Test
public void testDynamicWorkflowFactory() {
testWorkflowRule.addWorkflowImplementationFactory(DynamicWorkflowImpl.class, DynamicWorkflowImpl::new);
TestWorkflowEnvironment testEnvironment = testWorkflowRule.getTestEnvironment();
testEnvironment.start();
WorkflowStub workflow = testWorkflowRule.newUntypedWorkflowStub("workflowFoo");
workflow.signalWithStart("signal1", new Object[] { "signalArg0" }, new Object[] { "startArg0" });
String queryResult = workflow.query("query1", String.class, "queryArg0");
assertEquals("query1-queryArg0-signal1-signalArg0", queryResult);
String result = workflow.getResult(String.class);
assertEquals("activityType2-activityType1-startArg0-workflowFoo", result);
}
use of io.temporal.testing.TestWorkflowEnvironment in project sdk-java by temporalio.
the class PromiseTest method testGetTimeout.
@Test
public void testGetTimeout() {
TestWorkflowEnvironment testEnv = TestWorkflowEnvironment.newInstance();
try {
String testTaskQueue = "testTaskQueue";
Worker worker = testEnv.newWorker(testTaskQueue);
worker.registerWorkflowImplementationTypes(TestGetTimeout.class);
testEnv.start();
PromiseTestWorkflow workflow = testEnv.getWorkflowClient().newWorkflowStub(PromiseTestWorkflow.class, WorkflowOptions.newBuilder().setTaskQueue(testTaskQueue).build());
List<String> result = workflow.test();
List<String> expected = Arrays.asList("thread1 begin", "thread1 get timeout");
assertEquals(expected, result);
} finally {
testEnv.close();
}
}
use of io.temporal.testing.TestWorkflowEnvironment in project sdk-java by temporalio.
the class WorkflowInternalQueueTest method testOfferPollPeek.
@Test
public void testOfferPollPeek() {
TestWorkflowEnvironment testEnv = TestWorkflowEnvironment.newInstance();
try {
String testTaskQueue = "testTaskQueue";
Worker worker = testEnv.newWorker(testTaskQueue);
worker.registerWorkflowImplementationTypes(TestOfferPollPeek.class);
testEnv.start();
WorkflowQueueTestWorkflow workflow = testEnv.getWorkflowClient().newWorkflowStub(WorkflowQueueTestWorkflow.class, WorkflowOptions.newBuilder().setTaskQueue(testTaskQueue).build());
List<String> trace = workflow.test();
List<String> expected = Arrays.asList("root begin", "peek null", "offer true", "offer false", "peek 12", "poll 12", "offer true", "offer false", "take 23", "root done");
assertEquals(expected, trace);
} finally {
testEnv.close();
}
}
Aggregations