Search in sources :

Example 1 with TestWorkflowEnvironment

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);
}
Also used : TestWorkflowEnvironment(io.temporal.testing.TestWorkflowEnvironment) Worker(io.temporal.worker.Worker) Test(org.junit.Test)

Example 2 with TestWorkflowEnvironment

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);
}
Also used : WorkflowStub(io.temporal.client.WorkflowStub) TestWorkflowEnvironment(io.temporal.testing.TestWorkflowEnvironment) WorkflowOptions(io.temporal.client.WorkflowOptions) Test(org.junit.Test)

Example 3 with TestWorkflowEnvironment

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);
}
Also used : WorkflowStub(io.temporal.client.WorkflowStub) TestWorkflowEnvironment(io.temporal.testing.TestWorkflowEnvironment) Test(org.junit.Test)

Example 4 with TestWorkflowEnvironment

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();
    }
}
Also used : TestWorkflowEnvironment(io.temporal.testing.TestWorkflowEnvironment) Worker(io.temporal.worker.Worker)

Example 5 with TestWorkflowEnvironment

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();
    }
}
Also used : TestWorkflowEnvironment(io.temporal.testing.TestWorkflowEnvironment) Worker(io.temporal.worker.Worker)

Aggregations

TestWorkflowEnvironment (io.temporal.testing.TestWorkflowEnvironment)9 Worker (io.temporal.worker.Worker)6 Test (org.junit.Test)4 WorkflowStub (io.temporal.client.WorkflowStub)3 WorkflowOptions (io.temporal.client.WorkflowOptions)2