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
Copy link
Copy Markdown
Contributor

@yaythomas yaythomas commented May 21, 2026

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
Merged via the queue into aws:develop with commit 3c1153a May 21, 2026
55 checks passed
@yaythomas yaythomas deleted the fix/durable-integ-arn-regex-allow-slash branch May 21, 2026 20:16
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