Home / File/ test_retrievers.py — langchain Source File

test_retrievers.py — langchain Source File

Architecture documentation for test_retrievers.py, a python file in the langchain codebase. 3 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  1ca432a3_adbf_8267_7a36_9f9d2ede5854["test_retrievers.py"]
  525a7d6f_f455_56e3_854a_c8a7da4a1417["unittest.mock"]
  1ca432a3_adbf_8267_7a36_9f9d2ede5854 --> 525a7d6f_f455_56e3_854a_c8a7da4a1417
  2e073793_7bdb_2272_3b6f_82c878fdc38c["pytest_mock"]
  1ca432a3_adbf_8267_7a36_9f9d2ede5854 --> 2e073793_7bdb_2272_3b6f_82c878fdc38c
  0a64b352_1be7_5fff_8155_512d479e612f["langchain_perplexity"]
  1ca432a3_adbf_8267_7a36_9f9d2ede5854 --> 0a64b352_1be7_5fff_8155_512d479e612f
  style 1ca432a3_adbf_8267_7a36_9f9d2ede5854 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from unittest.mock import MagicMock

from pytest_mock import MockerFixture

from langchain_perplexity import PerplexitySearchRetriever


def test_search_retriever_initialization() -> None:
    retriever = PerplexitySearchRetriever(pplx_api_key="test")
    assert retriever.pplx_api_key.get_secret_value() == "test"
    assert retriever.k == 10


def test_search_retriever_get_relevant_documents(mocker: MockerFixture) -> None:
    retriever = PerplexitySearchRetriever(pplx_api_key="test")

    mock_result = MagicMock()
    mock_result.title = "Test Title"
    mock_result.url = "http://test.com"
    mock_result.snippet = "Test snippet"
    mock_result.date = "2023-01-01"
    mock_result.last_updated = "2023-01-02"

    mock_response = MagicMock()
    mock_response.results = [mock_result]

    mock_create = MagicMock(return_value=mock_response)
    mocker.patch.object(retriever.client.search, "create", mock_create)

    docs = retriever.invoke("query")

    assert len(docs) == 1
    assert docs[0].page_content == "Test snippet"
    assert docs[0].metadata["title"] == "Test Title"
    assert docs[0].metadata["url"] == "http://test.com"

    mock_create.assert_called_once_with(
        query="query",
        max_results=10,
        max_tokens=25000,
        max_tokens_per_page=1024,
    )

Subdomains

Dependencies

  • langchain_perplexity
  • pytest_mock
  • unittest.mock

Frequently Asked Questions

What does test_retrievers.py do?
test_retrievers.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, RunnableInterface subdomain.
What functions are defined in test_retrievers.py?
test_retrievers.py defines 2 function(s): test_search_retriever_get_relevant_documents, test_search_retriever_initialization.
What does test_retrievers.py depend on?
test_retrievers.py imports 3 module(s): langchain_perplexity, pytest_mock, unittest.mock.
Where is test_retrievers.py in the architecture?
test_retrievers.py is located at libs/partners/perplexity/tests/unit_tests/test_retrievers.py (domain: CoreAbstractions, subdomain: RunnableInterface, directory: libs/partners/perplexity/tests/unit_tests).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free