From d3fa86fef96fa9e9489a072946e51118fc2e2e8c Mon Sep 17 00:00:00 2001 From: Max Gallant Date: Fri, 21 Jul 2023 14:03:52 -0700 Subject: [PATCH] Adds allow_bson=True to jsanitize invocation in contains_job_or_flow --- src/jobflow/utils/find.py | 2 +- tests/utils/test_find.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/jobflow/utils/find.py b/src/jobflow/utils/find.py index 4f48240b..ab841101 100644 --- a/src/jobflow/utils/find.py +++ b/src/jobflow/utils/find.py @@ -213,7 +213,7 @@ def contains_flow_or_job(obj: Any) -> bool: # argument is a primitive, we won't find an flow or job here return False - obj = jsanitize(obj, strict=True) + obj = jsanitize(obj, strict=True, allow_bson=True) # recursively find any reference classes locations = find_key_value(obj, "@class", "Flow") diff --git a/tests/utils/test_find.py b/tests/utils/test_find.py index f5842ff5..5a5160a1 100644 --- a/tests/utils/test_find.py +++ b/tests/utils/test_find.py @@ -54,6 +54,8 @@ def test_update_in_dictionary(): def test_contains_job_or_flow(): + from datetime import datetime + from jobflow import Flow, Job from jobflow.utils import contains_flow_or_job @@ -74,3 +76,4 @@ def test_contains_job_or_flow(): assert contains_flow_or_job([[job]]) is True assert contains_flow_or_job({"a": job}) is True assert contains_flow_or_job({"a": [job]}) is True + assert contains_flow_or_job({"a": [job], "b": datetime.now()}) is True