diff --git a/task-sdk/tests/task_sdk/serde/test_serializers.py b/task-sdk/tests/task_sdk/serde/test_serializers.py index a090e8d6b13e0..a2ed3da6f414d 100644 --- a/task-sdk/tests/task_sdk/serde/test_serializers.py +++ b/task-sdk/tests/task_sdk/serde/test_serializers.py @@ -40,7 +40,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, MAX_RECURSION_DEPTH, VERSION, decode, deserialize, serialize from airflow.sdk.serde.serializers import builtin from tests_common.test_utils.config import conf_vars @@ -679,3 +679,8 @@ 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)