We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mcp-bridge/local-filesystem'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
"""Integration tests for directory route handlers."""
from local_filesystem.api.directory_routes import register_directory_routes
class TestListDirectories:
"""Integration tests for list_directories route."""
def test_list_directories_root(self, populated_temp_root, mock_context, capture_handlers):
"""Test listing directories in root."""
handlers = capture_handlers(
populated_temp_root, register_directory_routes, "local_filesystem.api.directory_routes"
)
result = handlers["list_directories"](path=".")
assert "directories" in result
assert result["total_count"] >= 3
dir_names = {d["name"] for d in result["directories"]}
assert "dir1" in dir_names
assert "dir2" in dir_names
assert "empty_dir" in dir_names
def test_list_directories_subdirectory(
self, populated_temp_root, mock_context, capture_handlers
):
"""Test listing directories in subdirectory."""
handlers = capture_handlers(
populated_temp_root, register_directory_routes, "local_filesystem.api.directory_routes"
)
result = handlers["list_directories"](path="dir1")
assert "directories" in result
assert result["total_count"] == 2
dir_names = {d["name"] for d in result["directories"]}
assert "subdir1" in dir_names
assert "subdir2" in dir_names
class TestCreateDirectory:
"""Integration tests for create_directory route."""
def test_create_directory_simple(self, temp_root, mock_context, capture_handlers):
"""Test creating a simple directory."""
handlers = capture_handlers(
temp_root, register_directory_routes, "local_filesystem.api.directory_routes"
)
result = handlers["create_directory"](path="newdir", create_parents=False)
assert result["success"] is True
assert (temp_root / "newdir").exists()
assert (temp_root / "newdir").is_dir()
def test_create_directory_with_parents(self, temp_root, mock_context, capture_handlers):
"""Test creating directory with parent directories."""
handlers = capture_handlers(
temp_root, register_directory_routes, "local_filesystem.api.directory_routes"
)
result = handlers["create_directory"](path="parent/child/grandchild", create_parents=True)
assert result["success"] is True
assert (temp_root / "parent" / "child" / "grandchild").exists()
class TestDeleteDirectory:
"""Integration tests for delete_directory route."""
def test_delete_empty_directory(self, populated_temp_root, mock_context, capture_handlers):
"""Test deleting an empty directory."""
handlers = capture_handlers(
populated_temp_root, register_directory_routes, "local_filesystem.api.directory_routes"
)
result = handlers["delete_directory"](path="empty_dir", recursive=False)
assert result["success"] is True
assert not (populated_temp_root / "empty_dir").exists()
def test_delete_directory_recursive(self, populated_temp_root, mock_context, capture_handlers):
"""Test deleting directory recursively."""
handlers = capture_handlers(
populated_temp_root, register_directory_routes, "local_filesystem.api.directory_routes"
)
result = handlers["delete_directory"](path="dir1", recursive=True)
assert result["success"] is True
assert not (populated_temp_root / "dir1").exists()
class TestMoveDirectory:
"""Integration tests for move_directory route."""
def test_move_directory(self, populated_temp_root, mock_context, capture_handlers):
"""Test moving a directory."""
handlers = capture_handlers(
populated_temp_root, register_directory_routes, "local_filesystem.api.directory_routes"
)
result = handlers["move_directory"](source_path="empty_dir", destination_path="moved_dir")
assert result["success"] is True
assert not (populated_temp_root / "empty_dir").exists()
assert (populated_temp_root / "moved_dir").exists()
def test_rename_directory(self, populated_temp_root, mock_context, capture_handlers):
"""Test renaming a directory."""
handlers = capture_handlers(
populated_temp_root, register_directory_routes, "local_filesystem.api.directory_routes"
)
result = handlers["move_directory"](source_path="dir2", destination_path="renamed_dir")
assert result["success"] is True
assert not (populated_temp_root / "dir2").exists()
assert (populated_temp_root / "renamed_dir").exists()
class TestGetDirectoryMetadata:
"""Integration tests for get_directory_metadata route."""
def test_get_directory_metadata(self, populated_temp_root, mock_context, capture_handlers):
"""Test getting directory metadata."""
handlers = capture_handlers(
populated_temp_root, register_directory_routes, "local_filesystem.api.directory_routes"
)
result = handlers["get_directory_metadata"](path="dir1")
assert "path" in result
assert "exists" in result
assert result["exists"] is True
assert "item_count" in result
assert "file_count" in result
assert "directory_count" in result
assert result["directory_count"] == 2 # subdir1 and subdir2
assert "created" in result
assert "modified" in result
assert "accessed" in result
def test_get_directory_metadata_root(self, populated_temp_root, mock_context, capture_handlers):
"""Test getting root directory metadata."""
handlers = capture_handlers(
populated_temp_root, register_directory_routes, "local_filesystem.api.directory_routes"
)
result = handlers["get_directory_metadata"](path=".")
assert "exists" in result
assert result["exists"] is True
assert "item_count" in result
assert "file_count" in result
assert "directory_count" in result
assert result["directory_count"] >= 3 # dir1, dir2, empty_dir