use of io.temporal.failure.ApplicationFailure in project sdk-java by temporalio.
the class WorkflowFailureNonStandardThrowableTest method nonStandardThrowable.
@Test
public void nonStandardThrowable() {
TestWorkflow1 workflowStub = testWorkflowRule.getWorkflowClient().newWorkflowStub(TestWorkflow1.class, SDKTestOptions.newWorkflowOptionsWithTimeouts(testWorkflowRule.getTaskQueue()));
try {
workflowStub.execute(testName.getMethodName());
fail();
} catch (WorkflowException e) {
assertTrue(e.getCause() instanceof ApplicationFailure);
ApplicationFailure applicationFailure = (ApplicationFailure) e.getCause();
assertEquals(NonStandardThrowable.class.getName(), applicationFailure.getType());
}
}
use of io.temporal.failure.ApplicationFailure in project sdk-java by temporalio.
the class ChildWorkflowAsyncRetryTest method testChildWorkflowAsyncRetry.
@Test
public void testChildWorkflowAsyncRetry() {
WorkflowOptions options = WorkflowOptions.newBuilder().setWorkflowRunTimeout(Duration.ofSeconds(20)).setWorkflowTaskTimeout(Duration.ofSeconds(2)).setTaskQueue(testWorkflowRule.getTaskQueue()).build();
TestWorkflow1 client = testWorkflowRule.getWorkflowClient().newWorkflowStub(TestWorkflow1.class, options);
try {
client.execute(testWorkflowRule.getTaskQueue());
fail("unreachable");
} catch (WorkflowException e) {
assertTrue(String.valueOf(e.getCause()), e.getCause() instanceof ChildWorkflowFailure);
assertTrue(e.getCause().getCause() instanceof ApplicationFailure);
assertEquals("test", ((ApplicationFailure) e.getCause().getCause()).getType());
assertEquals("message='simulated failure', type='test', nonRetryable=false", e.getCause().getCause().getMessage());
}
assertEquals(3, angryChildActivity.getInvocationCount());
}
use of io.temporal.failure.ApplicationFailure in project sdk-java by temporalio.
the class ActivityApplicationFailureNonRetryableTest method testActivityApplicationFailureNonRetryable.
@Test
public void testActivityApplicationFailureNonRetryable() {
TestWorkflow1 workflowStub = testWorkflowRule.newWorkflowStubTimeoutOptions(TestWorkflow1.class);
try {
workflowStub.execute(testWorkflowRule.getTaskQueue());
Assert.fail("unreachable");
} catch (WorkflowException e) {
Assert.assertTrue(e.getCause() instanceof ActivityFailure);
Assert.assertTrue(e.getCause().getCause() instanceof ApplicationFailure);
Assert.assertEquals("java.io.IOException", ((ApplicationFailure) e.getCause().getCause()).getType());
Assert.assertEquals(RetryState.RETRY_STATE_NON_RETRYABLE_FAILURE, ((ActivityFailure) e.getCause()).getRetryState());
}
Assert.assertEquals(activitiesImpl.toString(), 1, activitiesImpl.invocations.size());
}
use of io.temporal.failure.ApplicationFailure in project sdk-java by temporalio.
the class LocalActivityRetryTest method testLocalActivityRetry.
@Test
public void testLocalActivityRetry() {
TestWorkflow1 workflowStub = testWorkflowRule.newWorkflowStubTimeoutOptions(TestWorkflow1.class);
try {
workflowStub.execute(testWorkflowRule.getTaskQueue());
Assert.fail("unreachable");
} catch (WorkflowException e) {
Assert.assertTrue(e.getCause() instanceof ActivityFailure);
Assert.assertTrue(e.getCause().getCause() instanceof ApplicationFailure);
Assert.assertEquals(IOException.class.getName(), ((ApplicationFailure) e.getCause().getCause()).getType());
}
Assert.assertEquals(activitiesImpl.toString(), 5, activitiesImpl.invocations.size());
Assert.assertEquals("last attempt", 5, activitiesImpl.getLastAttempt());
}
use of io.temporal.failure.ApplicationFailure in project sdk-java by temporalio.
the class LocalActivityThrowingErrorTest method localActivityNonRetryableThrowsError.
@Test
public void localActivityNonRetryableThrowsError() {
String name = testName.getMethodName();
WorkflowClient client = testWorkflowRule.getWorkflowClient();
TestWorkflow4 workflow = client.newWorkflowStub(TestWorkflow4.class, options);
try {
workflow.execute(name, false);
} catch (WorkflowFailedException e) {
assertTrue(e.getCause() instanceof ActivityFailure);
assertTrue(e.getCause().getCause() instanceof ApplicationFailure);
assertEquals(FAILURE_TYPE, ((ApplicationFailure) e.getCause().getCause()).getType());
assertEquals(1, ActivityThrowingErrorTest.ApplicationFailureActivity.invocations.get(name).get());
}
}
Aggregations