mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-04-30 03:00:41 -04:00
The pytest_asyncio fixture changes with loop_scope="session" caused "Event loop is closed" errors in all 31 oauth_test.py tests on CI. MCP tests have their own conftest override and don't need these changes.
54 lines
1.7 KiB
Python
54 lines
1.7 KiB
Python
import logging
|
|
import os
|
|
|
|
import pytest
|
|
from dotenv import load_dotenv
|
|
|
|
from backend.util.logging import configure_logging
|
|
|
|
load_dotenv()
|
|
|
|
# NOTE: You can run tests like with the --log-cli-level=INFO to see the logs
|
|
# Set up logging
|
|
configure_logging()
|
|
logger = logging.getLogger(__name__)
|
|
|
|
# Reduce Prisma log spam unless PRISMA_DEBUG is set
|
|
if not os.getenv("PRISMA_DEBUG"):
|
|
prisma_logger = logging.getLogger("prisma")
|
|
prisma_logger.setLevel(logging.INFO)
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
async def server():
|
|
from backend.util.test import SpinTestServer
|
|
|
|
async with SpinTestServer() as server:
|
|
yield server
|
|
|
|
|
|
@pytest.fixture(scope="session", autouse=True)
|
|
async def graph_cleanup(server):
|
|
created_graph_ids = []
|
|
original_create_graph = server.agent_server.test_create_graph
|
|
|
|
async def create_graph_wrapper(*args, **kwargs):
|
|
created_graph = await original_create_graph(*args, **kwargs)
|
|
# Extract user_id correctly
|
|
user_id = kwargs.get("user_id", args[2] if len(args) > 2 else None)
|
|
created_graph_ids.append((created_graph.id, user_id))
|
|
return created_graph
|
|
|
|
try:
|
|
server.agent_server.test_create_graph = create_graph_wrapper
|
|
yield # This runs the test function
|
|
finally:
|
|
server.agent_server.test_create_graph = original_create_graph
|
|
|
|
# Delete the created graphs and assert they were deleted
|
|
for graph_id, user_id in created_graph_ids:
|
|
if user_id:
|
|
resp = await server.agent_server.test_delete_graph(graph_id, user_id)
|
|
num_deleted = resp["version_counts"]
|
|
assert num_deleted > 0, f"Graph {graph_id} was not deleted."
|