TestProviderStrategy Class — langchain Architecture
Architecture documentation for the TestProviderStrategy class in test_responses.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 6ca1af52_857f_2e7b_78f5_67116eab30df["TestProviderStrategy"] 4ec8d71c_3a26_be00_a621_f5533ddc4441["test_responses.py"] 6ca1af52_857f_2e7b_78f5_67116eab30df -->|defined in| 4ec8d71c_3a26_be00_a621_f5533ddc4441 da245b68_323b_322b_dc02_933da0615c0c["test_basic_creation()"] 6ca1af52_857f_2e7b_78f5_67116eab30df -->|method| da245b68_323b_322b_dc02_933da0615c0c 8da12189_bb92_61e7_6a26_aead3aa78c3a["test_strict()"] 6ca1af52_857f_2e7b_78f5_67116eab30df -->|method| 8da12189_bb92_61e7_6a26_aead3aa78c3a 9d63d9de_213a_bbdf_ef01_6bf305e108e6["test_to_model_kwargs()"] 6ca1af52_857f_2e7b_78f5_67116eab30df -->|method| 9d63d9de_213a_bbdf_ef01_6bf305e108e6 b602ac1a_ba49_d9c3_b538_5e72e5c579e8["test_to_model_kwargs_strict()"] 6ca1af52_857f_2e7b_78f5_67116eab30df -->|method| b602ac1a_ba49_d9c3_b538_5e72e5c579e8
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/test_responses.py lines 63–131
class TestProviderStrategy:
"""Test ProviderStrategy dataclass."""
def test_basic_creation(self) -> None:
"""Test basic ProviderStrategy creation."""
strategy = ProviderStrategy(schema=_TestModel)
assert strategy.schema == _TestModel
assert strategy.schema_spec.schema == _TestModel
assert strategy.schema_spec.strict is None
def test_strict(self) -> None:
"""Test ProviderStrategy creation with strict=True."""
strategy = ProviderStrategy(schema=_TestModel, strict=True)
assert strategy.schema == _TestModel
assert strategy.schema_spec.schema == _TestModel
assert strategy.schema_spec.strict is True
def test_to_model_kwargs(self) -> None:
strategy_default = ProviderStrategy(schema=_TestModel)
assert strategy_default.to_model_kwargs() == {
"response_format": {
"json_schema": {
"name": "_TestModel",
"schema": {
"description": "A test model for structured output.",
"properties": {
"age": {"title": "Age", "type": "integer"},
"email": {
"default": "default@example.com",
"title": "Email",
"type": "string",
},
"name": {"title": "Name", "type": "string"},
},
"required": ["name", "age"],
"title": "_TestModel",
"type": "object",
},
},
"type": "json_schema",
}
}
def test_to_model_kwargs_strict(self) -> None:
strategy_default = ProviderStrategy(schema=_TestModel, strict=True)
assert strategy_default.to_model_kwargs() == {
"response_format": {
"json_schema": {
"name": "_TestModel",
"schema": {
"description": "A test model for structured output.",
"properties": {
"age": {"title": "Age", "type": "integer"},
"email": {
"default": "default@example.com",
"title": "Email",
"type": "string",
},
"name": {"title": "Name", "type": "string"},
},
"required": ["name", "age"],
"title": "_TestModel",
"type": "object",
},
"strict": True,
},
"type": "json_schema",
}
}
Source
Frequently Asked Questions
What is the TestProviderStrategy class?
TestProviderStrategy is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/test_responses.py.
Where is TestProviderStrategy defined?
TestProviderStrategy is defined in libs/langchain_v1/tests/unit_tests/agents/test_responses.py at line 63.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free