From 512a6c647ad38ccd1707f1145f371d6d7d9a19aa Mon Sep 17 00:00:00 2001 From: yaythomas Date: Thu, 21 May 2026 19:15:11 +0000 Subject: [PATCH] fix(tests): accept '/' in durable execution ARN regex DurableIntegBase.assert_invoke_output parsed the ARN line of sam local invoke output with [a-f0-9-]+, which truncates at the first '/'. After aws-durable-execution-sdk-python-testing#216 the emulator returns /, so subsequent sam local execution history|stop|get calls in the same test received only the leading UUID and 404'd, failing every test_local_invoke_durable_function_* test plus test_execution_stop_already_completed with AssertionError: 1 != 0. Switching to \S+ captures the full ARN as printed and stays backwards-compatible with the old UUID-only form. Fixes #9037 --- tests/integration/durable_integ_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/durable_integ_base.py b/tests/integration/durable_integ_base.py index 99f6abe2f9a..fb4aa7aa9e7 100644 --- a/tests/integration/durable_integ_base.py +++ b/tests/integration/durable_integ_base.py @@ -152,7 +152,7 @@ def assert_invoke_output( self.assertIn("Execution Summary:", stdout_str, f"Expected execution summary in output: {stdout_str}") - arn_match = re.search(r"ARN:\s+([a-f0-9-]+)", stdout_str) + arn_match = re.search(r"ARN:\s+(\S+)", stdout_str) self.assertIsNotNone(arn_match, f"Could not find ARN in output: {stdout_str}") execution_arn = arn_match.group(1) if arn_match else ""