From 2f2ac9e2326cf337517110a7def5886081eefbed Mon Sep 17 00:00:00 2001 From: a0k04u1 Date: Fri, 20 Dec 2024 16:43:34 +0530 Subject: [PATCH] assert payload --- .../concord/it/runtime/v2/ProcessIT.java | 5 ++-- .../v2/parallelExceptionPayload/concord.yml | 25 +++++++++++-------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/it/runtime-v2/src/test/java/com/walmartlabs/concord/it/runtime/v2/ProcessIT.java b/it/runtime-v2/src/test/java/com/walmartlabs/concord/it/runtime/v2/ProcessIT.java index 2144a769af..cf569116bd 100644 --- a/it/runtime-v2/src/test/java/com/walmartlabs/concord/it/runtime/v2/ProcessIT.java +++ b/it/runtime-v2/src/test/java/com/walmartlabs/concord/it/runtime/v2/ProcessIT.java @@ -736,14 +736,15 @@ public void testThrowParallelWithPayload() throws Exception { .archive(resource("parallelExceptionPayload")); ConcordProcess proc = concord.processes().start(payload); - expectStatus(proc, ProcessEntry.StatusEnum.FAILED); + expectStatus(proc, ProcessEntry.StatusEnum.FINISHED); // --- Map data = proc.getOutVariables(); - List> exceptions = (List>) ConfigurationUtils.get(data, "lastError", "exceptions"); + List> exceptions = (List>) ConfigurationUtils.get(data, "exceptions"); assertNotNull(exceptions); assertEquals(List.of("BOOM1", "BOOM2"), exceptions.stream().map(e -> e.get("message")).toList()); + assertEquals(List.of(Map.of("key", 1), Map.of("key", 2)), exceptions.stream().map(e -> e.get("payload")).toList()); } private List getProcessElementEvents(ConcordProcess proc) throws Exception { diff --git a/it/runtime-v2/src/test/resources/com/walmartlabs/concord/it/runtime/v2/parallelExceptionPayload/concord.yml b/it/runtime-v2/src/test/resources/com/walmartlabs/concord/it/runtime/v2/parallelExceptionPayload/concord.yml index fe8f795458..fa4993eede 100644 --- a/it/runtime-v2/src/test/resources/com/walmartlabs/concord/it/runtime/v2/parallelExceptionPayload/concord.yml +++ b/it/runtime-v2/src/test/resources/com/walmartlabs/concord/it/runtime/v2/parallelExceptionPayload/concord.yml @@ -1,17 +1,22 @@ configuration: runtime: "concord-v2" + out: + - exceptions flows: default: - - block: - - task: "throw" - in: - exception: "BOOM${item}" - payload: - key: "${item}" - loop: - items: + - try: + - task: "throw" + in: + exception: "BOOM${item}" + payload: + key: "${item}" + loop: + items: - 1 - 2 - mode: parallel - parallelism: 2 + mode: parallel + parallelism: 2 + error: + - set: + exceptions: ${lastError.cause.exceptions.stream().map(e -> e.cause).toList()} \ No newline at end of file