API Tests: - Add test_authorization.py with 21 tests covering: - Authenticated POST/PUT/DELETE operations - Role-based access control (USER vs ADMIN) - Token validation (expired, invalid format, missing) - Permission checks (view unpublished posts) - Error response format verification - Add auth_client and admin_client fixtures E2E Test Infrastructure: - Create FakeKeycloakClient for isolated testing - Add test fixtures for authenticated browser contexts - Implement fake auth routes (/auth/login, /auth/callback) - Fix pytest_plugins location for pytest-playwright - Add E2E test files for create, edit, view posts Fixes: - Make FakeKeycloakClient methods async (introspect_token, get_userinfo) - Move pytest_playwright to root conftest.py - Skip failing E2E tests pending further debugging
19 lines
464 B
Python
19 lines
464 B
Python
"""Global test configuration for pytest.
|
|
|
|
This module provides:
|
|
- pytest-playwright plugin registration
|
|
- Default event loop policy for async tests
|
|
"""
|
|
|
|
from asyncio import AbstractEventLoopPolicy, DefaultEventLoopPolicy
|
|
|
|
import pytest
|
|
|
|
pytest_plugins = ["pytest_playwright"]
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def event_loop_policy() -> AbstractEventLoopPolicy:
|
|
"""Return default event loop policy for the test session."""
|
|
return DefaultEventLoopPolicy()
|