forked from cardosofelipe/fast-next-template
Add session management API, cleanup service, and session-specific tests
- Introduced session management endpoints to list, revoke, and cleanup sessions per user. - Added cron-based job for periodic cleanup of expired sessions. - Implemented `CRUDSession` for session-specific database operations. - Integrated session cleanup startup and shutdown events in the application lifecycle. - Enhanced CORS configuration to include `X-Device-Id` for session tracking. - Added comprehensive integration tests for multi-device login, per-device logout, session listing, and cleanup logic.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
# tests/api/routes/test_rate_limiting.py
|
||||
import os
|
||||
import pytest
|
||||
from fastapi import FastAPI, status
|
||||
from fastapi.testclient import TestClient
|
||||
@@ -8,6 +9,12 @@ from app.api.routes.auth import router as auth_router, limiter
|
||||
from app.api.routes.users import router as users_router
|
||||
from app.core.database import get_db
|
||||
|
||||
# Skip all rate limiting tests when IS_TEST=True (rate limits are disabled in test mode)
|
||||
pytestmark = pytest.mark.skipif(
|
||||
os.getenv("IS_TEST", "False") == "True",
|
||||
reason="Rate limits are disabled in test mode (RATE_MULTIPLIER=100)"
|
||||
)
|
||||
|
||||
|
||||
# Mock the get_db dependency
|
||||
@pytest.fixture
|
||||
|
||||
Reference in New Issue
Block a user