Skip to content

fix(tests): accept '/' in durable execution ARN regex#9038

Merged
bnusunny merged 1 commit into
aws:developfrom
yaythomas:fix/durable-integ-arn-regex-allow-slash
May 21, 2026
Merged

fix(tests): accept '/' in durable execution ARN regex#9038
bnusunny merged 1 commit into
aws:developfrom
yaythomas:fix/durable-integ-arn-regex-allow-slash

Conversation

@yaythomas

@yaythomas yaythomas commented May 21, 2026

Copy link
Copy Markdown
Contributor

Issue #, if available

Fixes #9037

Description of changes

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 <uuid>/<invocation-id>, so subsequent sam local execution history|stop|get calls in the same test received only the leading UUID
and 404'd.

Switching to \S+ captures the full ARN as printed and remains
backwards-compatible with the old UUID-only form.

Description of how you validated changes

  • Re-ran assert_invoke_output against the exact stdout captured in the
    failing CI run; the patched regex extracts the full
    <uuid>/<invocation-id> ARN. Old UUID-only stdout still extracts
    cleanly.
  • make pr (init, schema, black-check, lint, test-all) — all green
    locally on Python 3.11.11 (9241 passed, 25 skipped, coverage 94.17%).
    Full integration suite runs in CI on this PR.

Checklist

  • Add input/output type hints to new functions/methods (n/a — test-only change)
  • Write design document if the changes are not straightforward (n/a)
  • Write/update tests (test-only change; no source change)
  • make pr passes
  • make update-reproducible-reqs if dependencies were changed (n/a)
  • Write documentation (n/a)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

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 <uuid>/<invocation-id>, 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 aws#9037
@yaythomas yaythomas requested a review from a team as a code owner May 21, 2026 19:29
@github-actions github-actions Bot added pr/external stage/needs-triage Automatically applied to new issues and PRs, indicating they haven't been looked at. labels May 21, 2026
@bnusunny bnusunny enabled auto-merge May 21, 2026 19:40
@bnusunny bnusunny added this pull request to the merge queue May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr/external stage/needs-triage Automatically applied to new issues and PRs, indicating they haven't been looked at.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Durable integration tests can't extract execution ARN that contains "/"

4 participants