Spaces:
Runtime error
Runtime error
import pytest | |
from gaia_agent import ModularGAIAAgent | |
import os | |
def agent(): | |
return ModularGAIAAgent() | |
def test_tool_registry(agent): | |
assert 'llama3_chat' in agent.tools | |
assert 'extractive_qa' in agent.tools | |
assert 'youtube_video_qa' in agent.tools | |
def test_fetch_questions_api(monkeypatch, agent): | |
class MockResponse: | |
def json(self): | |
return [{"task_id": "1", "question": "What is 2+2?", "file_name": ""}] | |
def raise_for_status(self): | |
pass | |
monkeypatch.setattr("requests.get", lambda url: MockResponse()) | |
questions = agent.fetch_questions(from_api=True) | |
assert isinstance(questions, list) | |
assert questions[0]["question"] == "What is 2+2?" | |
def test_download_file(monkeypatch, agent, tmp_path): | |
test_file = tmp_path / "test.txt" | |
monkeypatch.setattr("requests.get", lambda url: type("R", (), {"status_code": 200, "content": b"hello"})()) | |
fname = agent.download_file("testid", str(test_file)) | |
assert os.path.exists(fname) | |
with open(fname) as f: | |
assert f.read() == "hello" | |
def test_end_to_end(monkeypatch, agent): | |
# Mock API and tools for a simple run | |
monkeypatch.setattr(agent, "fetch_questions", lambda from_api, questions_path=None: [{"task_id": "1", "question": "What is 2+2?", "file_name": ""}]) | |
agent.tools['llama3_chat'] = lambda prompt: "4" | |
results = agent.run(from_api=True) | |
assert results[0]["answer"] == "4" |