Spaces:
Paused
Paused
| import os | |
| import asyncio | |
| import pytest | |
| from gpt_researcher.agent import GPTResearcher | |
| from src.logs_handler import CustomLogsHandler # Update import | |
| from typing import List, Dict, Any | |
| # Define the report types to test | |
| report_types = [ | |
| "research_report", | |
| "subtopic_report" | |
| ] | |
| # Define a common query and sources for testing | |
| query = "What are the latest advancements in AI?" | |
| # sources = ["https://en.wikipedia.org/wiki/Artificial_intelligence", "https://www.ibm.com/watson/ai"] | |
| # Define the output directory | |
| output_dir = "./outputs" | |
| async def test_gpt_researcher(report_type): | |
| # Ensure the output directory exists | |
| if not os.path.exists(output_dir): | |
| os.makedirs(output_dir) | |
| custom_logs_handler = CustomLogsHandler(query=query) | |
| # Create an instance of GPTResearcher | |
| researcher = GPTResearcher(query=query, report_type=report_type, websocket=custom_logs_handler) | |
| # Conduct research and write the report | |
| await researcher.conduct_research() | |
| report = await researcher.write_report() | |
| # Define the expected output filenames | |
| pdf_filename = os.path.join(output_dir, f"{report_type}.pdf") | |
| docx_filename = os.path.join(output_dir, f"{report_type}.docx") | |
| # Check if the PDF and DOCX files are created | |
| # assert os.path.exists(pdf_filename), f"PDF file not found for report type: {report_type}" | |
| # assert os.path.exists(docx_filename), f"DOCX file not found for report type: {report_type}" | |
| # Clean up the generated files (optional) | |
| # os.remove(pdf_filename) | |
| # os.remove(docx_filename) | |
| if __name__ == "__main__": | |
| pytest.main() |