Home / Function/ test_list_keys() — langchain Function Reference

test_list_keys() — langchain Function Reference

Architecture documentation for the test_list_keys() function in test_in_memory_record_manager.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  e728be84_0c21_a68f_c3d6_a11f93a69572["test_list_keys()"]
  cf34d2f1_d3e5_fb0a_ab95_e2916e80cee1["test_in_memory_record_manager.py"]
  e728be84_0c21_a68f_c3d6_a11f93a69572 -->|defined in| cf34d2f1_d3e5_fb0a_ab95_e2916e80cee1
  style e728be84_0c21_a68f_c3d6_a11f93a69572 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/tests/unit_tests/indexing/test_in_memory_record_manager.py lines 178–249

async def test_list_keys(manager: InMemoryRecordManager) -> None:
    """Test listing keys based on the provided date range."""
    # Insert records
    assert manager.list_keys() == []
    assert await manager.alist_keys() == []

    with patch.object(
        manager,
        "get_time",
        return_value=datetime(2021, 1, 2, tzinfo=timezone.utc).timestamp(),
    ):
        manager.update(["key1", "key2"])
        manager.update(["key3"], group_ids=["group1"])
        manager.update(["key4"], group_ids=["group2"])

    with patch.object(
        manager,
        "get_time",
        return_value=datetime(2021, 1, 10, tzinfo=timezone.utc).timestamp(),
    ):
        manager.update(["key5"])

    assert sorted(manager.list_keys()) == ["key1", "key2", "key3", "key4", "key5"]
    assert sorted(await manager.alist_keys()) == [
        "key1",
        "key2",
        "key3",
        "key4",
        "key5",
    ]

    # By group
    assert manager.list_keys(group_ids=["group1"]) == ["key3"]
    assert await manager.alist_keys(group_ids=["group1"]) == ["key3"]

    # Before
    assert sorted(
        manager.list_keys(before=datetime(2021, 1, 3, tzinfo=timezone.utc).timestamp())
    ) == [
        "key1",
        "key2",
        "key3",
        "key4",
    ]
    assert sorted(
        await manager.alist_keys(
            before=datetime(2021, 1, 3, tzinfo=timezone.utc).timestamp()
        )
    ) == [
        "key1",
        "key2",
        "key3",
        "key4",
    ]

    # After
    assert sorted(
        manager.list_keys(after=datetime(2021, 1, 3, tzinfo=timezone.utc).timestamp())
    ) == ["key5"]
    assert sorted(
        await manager.alist_keys(
            after=datetime(2021, 1, 3, tzinfo=timezone.utc).timestamp()
        )
    ) == ["key5"]

    results = manager.list_keys(limit=1)
    assert len(results) == 1
    assert results[0] in {"key1", "key2", "key3", "key4", "key5"}

    results = await manager.alist_keys(limit=1)
    assert len(results) == 1
    assert results[0] in {"key1", "key2", "key3", "key4", "key5"}

Domain

Subdomains

Frequently Asked Questions

What does test_list_keys() do?
test_list_keys() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/indexing/test_in_memory_record_manager.py.
Where is test_list_keys() defined?
test_list_keys() is defined in libs/core/tests/unit_tests/indexing/test_in_memory_record_manager.py at line 178.

Analyze Your Own Codebase

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

Try Supermodel Free