Azure / Azure/azure-functions-durable-python

Add regression coverage for None-returning orchestrations

オープン 初心者向け
#617 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
Enhancement fixed-in-v2 P3
主要言語
Python
スター
157
フォーク
70
平均マージ
2日 10時間
マージ済み PR(30日)
2

説明

💡 **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.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
testing
issue の種類
機能追加
難易度
2/5
見積もり時間
1〜3時間
活発さ
静か
明瞭さ
明確に書かれている
初心者へのやさしさ
72/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。