From 7869fb2cd9e0e140123bb035b67aecb0983ea5a4 Mon Sep 17 00:00:00 2001 From: Alessandro Bologna Date: Mon, 8 Dec 2025 02:04:12 -0500 Subject: [PATCH] fix: use correct key name for ChainedInvokeDetails deserialization - Change key from snake_case "chained_invoke_details" to PascalCase "ChainedInvokeDetails" in Operation.from_dict() to match API response - Add missing assertions in test_operation_from_dict_complete to verify chained_invoke_details is properly deserialized Fixes #237 --- src/aws_durable_execution_sdk_python/lambda_service.py | 2 +- tests/lambda_service_test.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/aws_durable_execution_sdk_python/lambda_service.py b/src/aws_durable_execution_sdk_python/lambda_service.py index 6bb2fe3..b907391 100644 --- a/src/aws_durable_execution_sdk_python/lambda_service.py +++ b/src/aws_durable_execution_sdk_python/lambda_service.py @@ -749,7 +749,7 @@ def from_dict(cls, data: MutableMapping[str, Any]) -> Operation: callback_details = CallbackDetails.from_dict(callback_details_input) chained_invoke_details = None - if chained_invoke_details := data.get("chained_invoke_details"): + if chained_invoke_details := data.get("ChainedInvokeDetails"): chained_invoke_details = ChainedInvokeDetails.from_dict( chained_invoke_details ) diff --git a/tests/lambda_service_test.py b/tests/lambda_service_test.py index e55db3d..cc4dce4 100644 --- a/tests/lambda_service_test.py +++ b/tests/lambda_service_test.py @@ -1481,6 +1481,8 @@ def test_operation_from_dict_complete(): assert operation.step_details.result == "step_result" assert operation.wait_details.scheduled_end_timestamp == start_time assert operation.callback_details.callback_id == "cb1" + assert operation.chained_invoke_details is not None + assert operation.chained_invoke_details.result == "invoke_result" def test_operation_to_dict_with_subtype():