Refactor E2E tests and fixtures for improved readability and consistency

- Reformatted assertions in `test_database_workflows.py` for better readability.
- Refactored `postgres_url` transformation logic in `conftest.py` for improved clarity.
- Adjusted import handling in `test_api_contracts.py` to streamline usage of Hypothesis and Schemathesis libraries.
This commit is contained in:
Felipe Cardoso
2025-11-25 22:27:11 +01:00
parent c0b253a010
commit 507f2e9c00
3 changed files with 10 additions and 6 deletions

View File

@@ -122,9 +122,9 @@ def async_postgres_url(postgres_url) -> str:
Testcontainers returns postgresql+psycopg2:// format.
"""
# Testcontainers uses psycopg2 by default, convert to asyncpg
return postgres_url.replace("postgresql+psycopg2://", "postgresql+asyncpg://").replace(
"postgresql://", "postgresql+asyncpg://"
)
return postgres_url.replace(
"postgresql+psycopg2://", "postgresql+asyncpg://"
).replace("postgresql://", "postgresql+asyncpg://")
@pytest_asyncio.fixture

View File

@@ -15,8 +15,8 @@ Note: Schemathesis v4.x API - filtering is done via include/exclude methods.
import pytest
try:
from hypothesis import settings
from schemathesis import openapi
from hypothesis import Phase, settings
SCHEMATHESIS_AVAILABLE = True
except ImportError:

View File

@@ -40,7 +40,9 @@ class TestUserRegistrationWorkflow:
},
)
assert response.status_code in [200, 201], f"Registration failed: {response.text}"
assert response.status_code in [200, 201], (
f"Registration failed: {response.text}"
)
data = response.json()
assert data["email"] == email
assert "id" in data
@@ -93,7 +95,9 @@ class TestAuthenticationWorkflow:
"last_name": "Test",
},
)
assert reg_resp.status_code in [200, 201], f"Registration failed: {reg_resp.text}"
assert reg_resp.status_code in [200, 201], (
f"Registration failed: {reg_resp.text}"
)
# 2. Login
login_resp = await e2e_client.post(