fix tests
This commit is contained in:
@@ -17,12 +17,28 @@ class TestSQLInjection:
|
||||
@pytest.fixture
|
||||
async def client(self):
|
||||
"""Create async HTTP client for testing."""
|
||||
from unittest.mock import AsyncMock, MagicMock
|
||||
|
||||
from httpx import ASGITransport
|
||||
|
||||
from src.server.utils.dependencies import get_series_app
|
||||
|
||||
# Mock SeriesApp to avoid 503 errors
|
||||
mock_app = MagicMock()
|
||||
mock_app.list = MagicMock()
|
||||
mock_app.list.GetMissingEpisode = MagicMock(return_value=[])
|
||||
mock_app.search = AsyncMock(return_value=[])
|
||||
|
||||
# Override dependency
|
||||
app.dependency_overrides[get_series_app] = lambda: mock_app
|
||||
|
||||
async with AsyncClient(
|
||||
transport=ASGITransport(app=app), base_url="http://test"
|
||||
) as ac:
|
||||
yield ac
|
||||
|
||||
# Cleanup
|
||||
app.dependency_overrides.clear()
|
||||
|
||||
# Classic SQL Injection payloads
|
||||
SQL_INJECTION_PAYLOADS = [
|
||||
@@ -138,12 +154,28 @@ class TestNoSQLInjection:
|
||||
@pytest.fixture
|
||||
async def client(self):
|
||||
"""Create async HTTP client for testing."""
|
||||
from unittest.mock import AsyncMock, MagicMock
|
||||
|
||||
from httpx import ASGITransport
|
||||
|
||||
from src.server.utils.dependencies import get_series_app
|
||||
|
||||
# Mock SeriesApp to avoid 503 errors
|
||||
mock_app = MagicMock()
|
||||
mock_app.list = MagicMock()
|
||||
mock_app.list.GetMissingEpisode = MagicMock(return_value=[])
|
||||
mock_app.search = AsyncMock(return_value=[])
|
||||
|
||||
# Override dependency
|
||||
app.dependency_overrides[get_series_app] = lambda: mock_app
|
||||
|
||||
async with AsyncClient(
|
||||
transport=ASGITransport(app=app), base_url="http://test"
|
||||
) as ac:
|
||||
yield ac
|
||||
|
||||
# Cleanup
|
||||
app.dependency_overrides.clear()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_nosql_injection_in_query(self, client):
|
||||
@@ -240,17 +272,33 @@ class TestORMInjection:
|
||||
|
||||
@pytest.mark.security
|
||||
class TestDatabaseSecurity:
|
||||
"""General database security tests."""
|
||||
"""Security tests for database access patterns."""
|
||||
|
||||
@pytest.fixture
|
||||
async def client(self):
|
||||
"""Create async HTTP client for testing."""
|
||||
from unittest.mock import AsyncMock, MagicMock
|
||||
|
||||
from httpx import ASGITransport
|
||||
|
||||
from src.server.utils.dependencies import get_series_app
|
||||
|
||||
# Mock SeriesApp to avoid 503 errors
|
||||
mock_app = MagicMock()
|
||||
mock_app.list = MagicMock()
|
||||
mock_app.list.GetMissingEpisode = MagicMock(return_value=[])
|
||||
mock_app.search = AsyncMock(return_value=[])
|
||||
|
||||
# Override dependency
|
||||
app.dependency_overrides[get_series_app] = lambda: mock_app
|
||||
|
||||
async with AsyncClient(
|
||||
transport=ASGITransport(app=app), base_url="http://test"
|
||||
) as ac:
|
||||
yield ac
|
||||
|
||||
# Cleanup
|
||||
app.dependency_overrides.clear()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_error_messages_no_leak_info(self, client):
|
||||
|
||||
Reference in New Issue
Block a user