diff --git a/task-sdk/tests/task_sdk/serde/test_serializers.py b/task-sdk/tests/task_sdk/serde/test_serializers.py index f8a57caa50ff7..1bdc2a8dea3c3 100644 --- a/task-sdk/tests/task_sdk/serde/test_serializers.py +++ b/task-sdk/tests/task_sdk/serde/test_serializers.py @@ -39,7 +39,7 @@ from airflow.sdk._shared.module_loading import qualname from airflow.sdk.definitions.param import Param, ParamsDict -from airflow.sdk.serde import CLASSNAME, DATA, VERSION, decode, deserialize, serialize +from airflow.sdk.serde import CLASSNAME, DATA, VERSION, decode, deserialize, serialize, MAX_RECURSION_DEPTH from airflow.sdk.serde.serializers import builtin from tests_common.test_utils.markers import skip_if_force_lowest_dependencies_marker @@ -675,3 +675,7 @@ def test_uuid_roundtrip(self, uuid_value): deserialized = deserialize(serialized) assert isinstance(deserialized, uuid.UUID) assert uuid_value == deserialized + def test_serde_serialize_recursion_limit(self): + depth = MAX_RECURSION_DEPTH + with pytest.raises(RecursionError, match="maximum recursion depth reached for serialization"): + serialize(object(), depth=depth)