From e7032901c37c33adaede5fc7ccde6c6505c2207a Mon Sep 17 00:00:00 2001 From: Matthew Farrellee Date: Sat, 22 Mar 2025 16:27:39 -0500 Subject: [PATCH] langchain-tests: allow test_serdes for packages outside the default valid namespaces (#30343) **Description:** a third party package not listed in the default valid namespaces cannot pass test_serdes because the load() does not allow for extending the valid_namespaces. test_serdes will fail with - ValueError: Invalid namespace: {'lc': 1, 'type': 'constructor', 'id': ['langchain_other', 'chat_models', 'ChatOther'], 'kwargs': {'model_name': '...', 'api_key': '...'}, 'name': 'ChatOther'} this change has test_serdes automatically extend valid_namespaces based off the ChatModel under test's namespace. --- .../langchain_tests/unit_tests/chat_models.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/standard-tests/langchain_tests/unit_tests/chat_models.py b/libs/standard-tests/langchain_tests/unit_tests/chat_models.py index 7a93f3989c2..a470a9b59d5 100644 --- a/libs/standard-tests/langchain_tests/unit_tests/chat_models.py +++ b/libs/standard-tests/langchain_tests/unit_tests/chat_models.py @@ -717,4 +717,9 @@ class ChatModelUnitTests(ChatModelTests): with mock.patch.dict(os.environ, env_params): ser = dumpd(model) assert ser == snapshot(name="serialized") - assert model.dict() == load(dumpd(model)).dict() + assert ( + model.dict() + == load( + dumpd(model), valid_namespaces=model.get_lc_namespace()[:1] + ).dict() + )