Simplified workflows.
Testing zangramru / lint (push) Successful in 31s
Testing zangramru / pytest (push) Failing after 16s

Signed-off-by: Pavel Kirilin <s3riussan@gmail.com>
This commit is contained in:
2026-07-01 13:22:46 +02:00
parent c2640c2bc3
commit 4306676699
6 changed files with 34 additions and 30 deletions
+4 -2
View File
@@ -10,6 +10,7 @@ from piccolo.table import create_tables, drop_tables
from zangramru.settings import settings
from zangramru.web.application import get_app
from zangramru.web.lifespan import lifespan_setup
@pytest.fixture(scope="session")
@@ -73,14 +74,15 @@ async def setup_db() -> AsyncGenerator[None, None]:
@pytest.fixture
def fastapi_app() -> FastAPI:
async def fastapi_app() -> AsyncGenerator[FastAPI, None]:
"""
Fixture for creating FastAPI app.
:return: fastapi app with mocked dependencies.
"""
application = get_app()
return application # noqa: RET504
async with lifespan_setup(application):
yield application
@pytest.fixture
-19
View File
@@ -1,19 +0,0 @@
import uuid
from fastapi import FastAPI
from httpx import AsyncClient
from starlette import status
async def test_echo(fastapi_app: FastAPI, client: AsyncClient) -> None:
"""
Tests that echo route works.
:param fastapi_app: current application.
:param client: client for the app.
"""
url = fastapi_app.url_path_for("send_echo_message")
message = uuid.uuid4().hex
response = await client.post(url, json={"message": message})
assert response.status_code == status.HTTP_200_OK
assert response.json()["message"] == message
+20
View File
@@ -0,0 +1,20 @@
from fastapi import FastAPI
from httpx import AsyncClient
from starlette import status
from zangramru.web.api.puzzles.schema import PuzzleOutputDTO
async def test_get_random_puzzle(fastapi_app: FastAPI, client: AsyncClient) -> None:
"""
Tests that echo route works.
:param fastapi_app: current application.
:param client: client for the app.
"""
url = fastapi_app.url_path_for("random_puzzle")
response = await client.get(url)
assert response.status_code == status.HTTP_200_OK
dto = PuzzleOutputDTO.model_validate(response.json())
assert sum(len(row) for row in dto.board) == 16
assert len(dto.solutions) >= 10