test: add unit tests for roles, web deps, use cases, VO boundaries — reach 70% coverage
Some checks failed
ci/woodpecker/pr/pipeline Pipeline failed

This commit is contained in:
2026-05-09 12:57:25 +03:00
parent 2b8a5676bd
commit 79f4d9caf5
12 changed files with 466 additions and 8 deletions

View File

@@ -0,0 +1,54 @@
"""Tests for mock Keycloak client."""
import pytest
from app.infrastructure.auth.mock_client import MockKeycloakClient
class TestMockKeycloakClient:
"""Test MockKeycloakClient token introspection."""
@pytest.fixture
def client(self) -> MockKeycloakClient:
"""Create mock client instance."""
return MockKeycloakClient()
@pytest.mark.asyncio
async def test_introspect_user_token(self, client: MockKeycloakClient) -> None:
"""Test introspecting user token."""
result = await client.introspect_token("dev-token-user")
assert result.is_valid is True
assert result.user_id == "dev-user"
assert result.username == "Dev User"
assert result.email == "dev.user@example.com"
assert result.roles == ["user"]
@pytest.mark.asyncio
async def test_introspect_user2_token(self, client: MockKeycloakClient) -> None:
"""Test introspecting user2 token."""
result = await client.introspect_token("dev-token-user2")
assert result.is_valid is True
assert result.user_id == "dev-user2"
assert result.username == "Test User"
assert result.roles == ["user"]
@pytest.mark.asyncio
async def test_introspect_admin_token(self, client: MockKeycloakClient) -> None:
"""Test introspecting admin token."""
result = await client.introspect_token("dev-token-admin")
assert result.is_valid is True
assert result.user_id == "dev-admin"
assert result.username == "Dev Admin"
assert result.roles == ["admin"]
@pytest.mark.asyncio
async def test_introspect_guest_token(self, client: MockKeycloakClient) -> None:
"""Test introspecting guest token returns inactive."""
result = await client.introspect_token("dev-token-guest")
assert result.is_valid is False
@pytest.mark.asyncio
async def test_introspect_unknown_token(self, client: MockKeycloakClient) -> None:
"""Test introspecting unknown token returns inactive."""
result = await client.introspect_token("unknown-token")
assert result.is_valid is False