Spaces:
Sleeping
Sleeping
| import os | |
| import sys | |
| sys.path.insert(0, os.path.dirname(os.path.dirname(__file__))) | |
| import pytest | |
| from agents.claude import ClaudeAgent | |
| from agents.ollama import OllamaAgent | |
| def pytest_addoption(parser): | |
| parser.addoption( | |
| "--mcp-url", | |
| default="http://localhost:7860/gradio_api/mcp/sse", | |
| help="MCP server SSE endpoint", | |
| ) | |
| parser.addoption( | |
| "--agent", | |
| default="claude", | |
| help="Agent implementation to test (claude, ollama)", | |
| ) | |
| parser.addoption( | |
| "--ollama-host", | |
| default="http://localhost:11434", | |
| help="Ollama server host", | |
| ) | |
| parser.addoption( | |
| "--ollama-model", | |
| default="llama3.2", | |
| help="Ollama model name", | |
| ) | |
| def mcp_url(request): | |
| return request.config.getoption("--mcp-url") | |
| def agent(request, mcp_url): | |
| name = request.config.getoption("--agent") | |
| if name == "claude": | |
| return ClaudeAgent(mcp_url) | |
| if name == "ollama": | |
| return OllamaAgent( | |
| mcp_url, | |
| model=request.config.getoption("--ollama-model"), | |
| ollama_host=request.config.getoption("--ollama-host"), | |
| ) | |
| raise ValueError(f"Unknown agent: {name}") | |
| def _result_cache(): | |
| return {} | |
| def run_scenario(agent, _result_cache): | |
| def _run(scenario): | |
| if scenario.name not in _result_cache: | |
| _result_cache[scenario.name] = agent.run(scenario.user_prompt) | |
| return _result_cache[scenario.name] | |
| return _run | |