|
8 | 8 | import io.temporal.api.common.v1.*; |
9 | 9 | import io.temporal.api.common.v1.Link; |
10 | 10 | import io.temporal.api.enums.v1.*; |
| 11 | +import io.temporal.api.failure.v1.NexusHandlerFailureInfo; |
11 | 12 | import io.temporal.api.failure.v1.NexusOperationFailureInfo; |
12 | 13 | import io.temporal.api.history.v1.HistoryEvent; |
13 | 14 | import io.temporal.api.nexus.v1.*; |
@@ -965,10 +966,18 @@ public void testNexusOperationHandlerErrorMessagePreserved() { |
965 | 966 | task -> |
966 | 967 | failNexusTask( |
967 | 968 | task.getTaskToken(), |
968 | | - HandlerError.newBuilder() |
969 | | - .setErrorType("BAD_REQUEST") |
970 | | - .setFailure( |
971 | | - Failure.newBuilder().setMessage("specific handler error message")) |
| 969 | + io.temporal.api.failure.v1.Failure.newBuilder() |
| 970 | + .setMessage("specific handler error message") |
| 971 | + .setNexusHandlerFailureInfo( |
| 972 | + NexusHandlerFailureInfo.newBuilder().setType("BAD_REQUEST")) |
| 973 | + .setCause( |
| 974 | + io.temporal.api.failure.v1.Failure.newBuilder() |
| 975 | + .setMessage("specific handler error message") |
| 976 | + .setApplicationFailureInfo( |
| 977 | + io.temporal.api.failure.v1.ApplicationFailureInfo |
| 978 | + .newBuilder() |
| 979 | + .setType("NexusFailure") |
| 980 | + .setNonRetryable(true))) |
972 | 981 | .build())); |
973 | 982 |
|
974 | 983 | try { |
@@ -1489,6 +1498,23 @@ private CompletableFuture<Request> completeNexusTask( |
1489 | 1498 | }); |
1490 | 1499 | } |
1491 | 1500 |
|
| 1501 | + private CompletableFuture<RespondNexusTaskFailedResponse> failNexusTask( |
| 1502 | + ByteString taskToken, io.temporal.api.failure.v1.Failure failure) { |
| 1503 | + return CompletableFuture.supplyAsync( |
| 1504 | + () -> |
| 1505 | + testWorkflowRule |
| 1506 | + .getWorkflowClient() |
| 1507 | + .getWorkflowServiceStubs() |
| 1508 | + .blockingStub() |
| 1509 | + .respondNexusTaskFailed( |
| 1510 | + RespondNexusTaskFailedRequest.newBuilder() |
| 1511 | + .setIdentity(UUID.randomUUID().toString()) |
| 1512 | + .setNamespace(testWorkflowRule.getTestEnvironment().getNamespace()) |
| 1513 | + .setTaskToken(taskToken) |
| 1514 | + .setFailure(failure) |
| 1515 | + .build())); |
| 1516 | + } |
| 1517 | + |
1492 | 1518 | @SuppressWarnings("deprecation") // Uses deprecated HandlerError/setError() to test old format |
1493 | 1519 | private CompletableFuture<RespondNexusTaskFailedResponse> failNexusTask( |
1494 | 1520 | ByteString taskToken, HandlerError err) { |
|
0 commit comments