Add regression coverage for None-returning orchestrations

Open Beginner friendly
#617 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python
Domain
testing

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

Enhancement fixed-in-v2 P3

💡 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Azure/azure-functions-durable-python

All issues in Azure/azure-functions-durable-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.