import pytest from fastapi.testclient import TestClient from main import app @pytest.fixture(scope="module") def test_client(): """Create a test client for the FastAPI app.""" with TestClient(app) as client: yield client @pytest.fixture def mock_valid_token_payload(): """Mock payload for a valid JWT token.""" return { "iss": "https://login.infomaniak.com", "aud": "test-client-id", "sub": "1234567890", "email": "rene.luria@infomaniak.com", "exp": 9999999999, "iat": 1609459200 } @pytest.fixture def mock_invalid_token_payload(): """Mock payload for an invalid JWT token.""" return { "iss": "https://invalid.issuer.com", "aud": "wrong-client-id", "sub": "1234567890", "email": "unauthorized@example.com", "exp": 9999999999, "iat": 1609459200 } @pytest.fixture def mock_jwks(): """Mock JWKS for token validation.""" return { "keys": [ { "kty": "RSA", "kid": "test-key-id", "use": "sig", "n": "test-modulus", "e": "AQAB" } ] }