Home / Class/ TestProviderStrategy Class — langchain Architecture

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",
            }
        }

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