Add regression coverage for None-returning orchestrations
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
Research direction
Start with the existing test_call_activity_with_none_return regression test and inspect TaskOrchestrationExecutor.parse_history_event, especially the SUB_ORCHESTRATION_INSTANCE_COMPLETED path. Add focused coverage for a sub-orchestrator with Result=None and a top-level generator with no explicit return. Done means replay completes successfully, produces None where applicable, and does not attempt JSON deserialization with None.
Written by the indexing model from the issue text.
Description
💡 Feature description
Add explicit regression tests for all supported None-return paths in orchestration replay:
- A sub-orchestrator whose completion event has
Result=None. - A top-level generator orchestrator that completes without an explicit return value.
Activity completion with Result=None is already covered by test_call_activity_with_none_return. The additional tests should verify that replay completes successfully, produces the expected None task value where applicable, and does not call JSON deserialization with None.
💭 Describe alternatives you've considered
Relying on the shared guard in TaskOrchestrationExecutor.parse_history_event and the existing activity test leaves the separate SUB_ORCHESTRATION_INSTANCE_COMPLETED branch without direct regression coverage. A top-level no-return test would also preserve the behavior that originally made issue #260 difficult to diagnose.
Additional context
Issue #260 reported the original failure. The root cause was isolated in #454 and fixed by #466, released in azure-functions-durable 1.2.9. Current code handles both task and sub-orchestration completion events with null results, but only the activity path has a focused regression test.
- Dominant language
- Python
- Stars
- 157
- Forks
- 70
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Azure/azure-functions-durable-python
-
bug Debuggability fixed-in-v2 P2
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Azure/azure-functions-durable-python#587 · 2 comments · 1 reaction ·
-
bug fixed-in-v2 P2
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Azure/azure-functions-durable-python#568 · 1 comment ·
-
bug fixed-in-v2 P3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Azure/azure-functions-durable-python#475 · 1 comment ·
-
Enhancement fixed-in-v2 P3
Difficulty 4/5 3-5 days Newbie friendliness 62/100
Azure/azure-functions-durable-python#618 · 1 comment ·
-
blocked bug fixed-in-v2 known-regression
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Azure/azure-functions-durable-python#600 · 3 comments ·
All issues in Azure/azure-functions-durable-python
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100