34 lines
919 B
Python
34 lines
919 B
Python
import os
|
|||
|
|
import pytest
|
||
|
|
from unittest.mock import AsyncMock, patch
|
||
|
|
from httpx import AsyncClient, ASGITransport
|
||
|
|
|
||
|
|
os.environ.setdefault("MCP_API_KEY", "test_key")
|
||
|
|
os.environ.setdefault("BACKEND_URL", "http://testbackend")
|
||
|
|
os.environ.setdefault("AUTH_USERNAME", "admin")
|
||
|
|
os.environ.setdefault("AUTH_PASSWORD", "admin")
|
||
|
|
|
||
|
|
from app.main import app # noqa: E402
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.fixture
|
||
|
|
def api_key():
|
||
|
|
return "test_key"
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.fixture
|
||
|
|
async def client(api_key):
|
||
|
|
async with AsyncClient(transport=ASGITransport(app=app), base_url="http://test") as c:
|
||
|
|
yield c
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.fixture
|
||
|
|
def mock_backend():
|
||
|
|
with patch("app.resources.backend") as mock_res, \
|
||
|
|
patch("app.tools.backend") as mock_tools:
|
||
|
|
mock_res.get = AsyncMock()
|
||
|
|
mock_tools.post = AsyncMock()
|
||
|
|
mock_tools.patch = AsyncMock()
|
||
|
|
mock_tools.delete = AsyncMock()
|
||
|
|
yield {"resources": mock_res, "tools": mock_tools}
|