Home / Class/ TestFilesystemGrepSearch Class — langchain Architecture

TestFilesystemGrepSearch Class — langchain Architecture

Architecture documentation for the TestFilesystemGrepSearch class in test_file_search.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  cc6c9310_5391_59ed_60fd_270a44975195["TestFilesystemGrepSearch"]
  882602ab_3eb6_c4cf_b94d_d1eb905b93f5["test_file_search.py"]
  cc6c9310_5391_59ed_60fd_270a44975195 -->|defined in| 882602ab_3eb6_c4cf_b94d_d1eb905b93f5
  8336df0b_9425_6503_d52e_0d3a5fa448e6["test_grep_content_mode()"]
  cc6c9310_5391_59ed_60fd_270a44975195 -->|method| 8336df0b_9425_6503_d52e_0d3a5fa448e6
  0116119d_4257_828b_9295_7d90d0c8a5d8["test_grep_count_mode()"]
  cc6c9310_5391_59ed_60fd_270a44975195 -->|method| 0116119d_4257_828b_9295_7d90d0c8a5d8
  50157096_a725_df3a_96fc_da0f46bcfad9["test_grep_with_include_filter()"]
  cc6c9310_5391_59ed_60fd_270a44975195 -->|method| 50157096_a725_df3a_96fc_da0f46bcfad9
  5248efe6_1563_c679_342c_4f7bb4166175["test_grep_with_brace_expansion_filter()"]
  cc6c9310_5391_59ed_60fd_270a44975195 -->|method| 5248efe6_1563_c679_342c_4f7bb4166175
  411a35ae_c468_438d_94dd_f0e2542e1947["test_grep_with_base_path()"]
  cc6c9310_5391_59ed_60fd_270a44975195 -->|method| 411a35ae_c468_438d_94dd_f0e2542e1947
  2200f68a_1b93_83ff_0c3b_72127778a021["test_grep_no_matches()"]
  cc6c9310_5391_59ed_60fd_270a44975195 -->|method| 2200f68a_1b93_83ff_0c3b_72127778a021
  59c9968f_0666_da83_6383_cdb0728272a0["test_grep_invalid_regex()"]
  cc6c9310_5391_59ed_60fd_270a44975195 -->|method| 59c9968f_0666_da83_6383_cdb0728272a0

Relationship Graph

Source Code

libs/partners/anthropic/tests/unit_tests/middleware/test_file_search.py lines 240–447

class TestFilesystemGrepSearch:
    """Tests for filesystem-backed grep search."""

    def test_grep_content_mode(self) -> None:
        """Test grep with content output mode."""
        middleware = StateFileSearchMiddleware()

        state: AnthropicToolsState = {
            "messages": [],
            "text_editor_files": {
                "/src/main.py": {
                    "content": ["def foo():", "    pass", "def bar():"],
                    "created_at": "2025-01-01T00:00:00",
                    "modified_at": "2025-01-01T00:00:00",
                },
            },
        }

        result = middleware._handle_grep_search(
            pattern=r"def \w+\(\):",
            path="/",
            include=None,
            output_mode="content",
            state=state,
        )

        assert isinstance(result, str)
        lines = result.split("\n")
        assert len(lines) == 2
        assert lines[0] == "/src/main.py:1:def foo():"
        assert lines[1] == "/src/main.py:3:def bar():"

    def test_grep_count_mode(self) -> None:
        """Test grep with count output mode."""
        middleware = StateFileSearchMiddleware()

        state: AnthropicToolsState = {
            "messages": [],
            "text_editor_files": {
                "/src/main.py": {
                    "content": ["TODO: fix this", "print('hello')", "TODO: add tests"],
                    "created_at": "2025-01-01T00:00:00",
                    "modified_at": "2025-01-01T00:00:00",
                },
                "/src/utils.py": {
                    "content": ["TODO: implement"],
                    "created_at": "2025-01-01T00:00:00",
                    "modified_at": "2025-01-01T00:00:00",
                },
            },
        }

        result = middleware._handle_grep_search(
            pattern=r"TODO", path="/", include=None, output_mode="count", state=state
        )

        assert isinstance(result, str)
        lines = result.split("\n")
        assert "/src/main.py:2" in lines
        assert "/src/utils.py:1" in lines

    def test_grep_with_include_filter(self) -> None:
        """Test grep with include file pattern filter."""
        middleware = StateFileSearchMiddleware()

        state: AnthropicToolsState = {
            "messages": [],
            "text_editor_files": {
                "/src/main.py": {
                    "content": ["import os"],
                    "created_at": "2025-01-01T00:00:00",
                    "modified_at": "2025-01-01T00:00:00",
                },
                "/src/main.ts": {
                    "content": ["import os from 'os'"],
                    "created_at": "2025-01-01T00:00:00",
                    "modified_at": "2025-01-01T00:00:00",
                },
            },
        }

Frequently Asked Questions

What is the TestFilesystemGrepSearch class?
TestFilesystemGrepSearch is a class in the langchain codebase, defined in libs/partners/anthropic/tests/unit_tests/middleware/test_file_search.py.
Where is TestFilesystemGrepSearch defined?
TestFilesystemGrepSearch is defined in libs/partners/anthropic/tests/unit_tests/middleware/test_file_search.py at line 240.

Analyze Your Own Codebase

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

Try Supermodel Free