mirror of
https://github.com/FuzzingLabs/fuzzforge_ai.git
synced 2026-02-12 21:12:56 +00:00
62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
"""MCP tool tests for FuzzForge OSS.
|
|
|
|
Tests the MCP tools that are available in the OSS version.
|
|
"""
|
|
|
|
import pytest
|
|
from typing import TYPE_CHECKING
|
|
|
|
if TYPE_CHECKING:
|
|
from fastmcp import Client
|
|
from fastmcp.client import FastMCPTransport
|
|
|
|
|
|
async def test_list_modules_tool_exists(
|
|
mcp_client: "Client[FastMCPTransport]",
|
|
) -> None:
|
|
"""Test that the list_modules tool is available."""
|
|
tools = await mcp_client.list_tools()
|
|
tool_names = [tool.name for tool in tools]
|
|
|
|
assert "list_modules" in tool_names
|
|
|
|
|
|
async def test_init_project_tool_exists(
|
|
mcp_client: "Client[FastMCPTransport]",
|
|
) -> None:
|
|
"""Test that the init_project tool is available."""
|
|
tools = await mcp_client.list_tools()
|
|
tool_names = [tool.name for tool in tools]
|
|
|
|
assert "init_project" in tool_names
|
|
|
|
|
|
async def test_execute_module_tool_exists(
|
|
mcp_client: "Client[FastMCPTransport]",
|
|
) -> None:
|
|
"""Test that the execute_module tool is available."""
|
|
tools = await mcp_client.list_tools()
|
|
tool_names = [tool.name for tool in tools]
|
|
|
|
assert "execute_module" in tool_names
|
|
|
|
|
|
async def test_execute_workflow_tool_exists(
|
|
mcp_client: "Client[FastMCPTransport]",
|
|
) -> None:
|
|
"""Test that the execute_workflow tool is available."""
|
|
tools = await mcp_client.list_tools()
|
|
tool_names = [tool.name for tool in tools]
|
|
|
|
assert "execute_workflow" in tool_names
|
|
|
|
|
|
async def test_mcp_has_expected_tool_count(
|
|
mcp_client: "Client[FastMCPTransport]",
|
|
) -> None:
|
|
"""Test that MCP has the expected number of tools."""
|
|
tools = await mcp_client.list_tools()
|
|
|
|
# Should have at least 4 core tools
|
|
assert len(tools) >= 4
|