32 lines
917 B
Python
32 lines
917 B
Python
"""CH-AUTH-001 — login → refresh → new access token."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from unittest.mock import MagicMock
|
|
|
|
import pytest
|
|
|
|
from server.api.dependencies import get_auth_service
|
|
|
|
pytestmark = pytest.mark.chain
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_login_refresh_chain(db_session, test_admin, mock_request):
|
|
mock_request.state.db = db_session
|
|
service = await get_auth_service(mock_request)
|
|
|
|
login_result = await service.login(
|
|
username=test_admin["admin"].username,
|
|
password="test123",
|
|
ip_address="127.0.0.1",
|
|
)
|
|
assert login_result["success"] is True
|
|
assert login_result.get("access_token")
|
|
refresh_raw = login_result.get("refresh_token")
|
|
assert refresh_raw
|
|
|
|
refresh_result = await service.refresh_token(refresh_raw, ip_address="127.0.0.1")
|
|
assert refresh_result["success"] is True
|
|
assert refresh_result.get("access_token")
|