[t-022] Full verification — uv sync + pytest + app startup test #22

Open
opened 2026-07-05 08:31:02 +00:00 by david · 0 comments
Owner

Goal

Verify the entire project builds, tests pass, and the app starts correctly.

Implementation Steps

Implementation Steps

1. Clean install dependencies

cd /home/david/Projects/keryx-bff && uv sync

2. Run full test suite

cd /home/david/Projects/keryx-bff && uv run pytest -v tests/
# Expected: all tests pass, 0 failures

3. Verify app can start

cd /home/david/Projects/keryx-bff && timeout 5 uv run uvicorn src.server:app --host 127.0.0.1 --port 8643 2>&1 | grep -E 'Started|Uvicorn'
# Expected: output contains 'Started' or 'Uvicorn'

4. Verify all route endpoints exist via TestClient

cd /home/david/Projects/keryx-bff && uv run python -c "
from fastapi.testclient import TestClient
from src.server import app
client = TestClient(app)
hdrs = {'Authorization': 'Bearer keryx-bff-change-me'}
resp1 = client.get('/v1/ios/app_data', headers=hdrs)
assert resp1.status_code == 200, f'app_data returned {resp1.status_code}'
resp2 = client.post('/graphql', headers=hdrs, json={'query': '{ appData { app { name } } }'})
assert resp2.status_code == 200, f'graphql returned {resp2.status_code}'
print('All endpoints verified')"
# Expected output: All endpoints verified

Verification Gate

Verification Gate (FINAL)

cd /home/david/Projects/keryx-bff && uv run pytest -v tests/
# Expected: all tests pass, 0 failures

If any step fails, mark this task as blocked with notes explaining what failed. Do NOT proceed past this task until verified.

STOP Conditions

STOP Conditions

  • If the final pytest run has any failures, stop and fix before marking done.

Depends on: t-021

## Goal Verify the entire project builds, tests pass, and the app starts correctly. ## Implementation Steps ## Implementation Steps ### 1. Clean install dependencies ```bash cd /home/david/Projects/keryx-bff && uv sync ``` ### 2. Run full test suite ```bash cd /home/david/Projects/keryx-bff && uv run pytest -v tests/ # Expected: all tests pass, 0 failures ``` ### 3. Verify app can start ```bash cd /home/david/Projects/keryx-bff && timeout 5 uv run uvicorn src.server:app --host 127.0.0.1 --port 8643 2>&1 | grep -E 'Started|Uvicorn' # Expected: output contains 'Started' or 'Uvicorn' ``` ### 4. Verify all route endpoints exist via TestClient ```bash cd /home/david/Projects/keryx-bff && uv run python -c " from fastapi.testclient import TestClient from src.server import app client = TestClient(app) hdrs = {'Authorization': 'Bearer keryx-bff-change-me'} resp1 = client.get('/v1/ios/app_data', headers=hdrs) assert resp1.status_code == 200, f'app_data returned {resp1.status_code}' resp2 = client.post('/graphql', headers=hdrs, json={'query': '{ appData { app { name } } }'}) assert resp2.status_code == 200, f'graphql returned {resp2.status_code}' print('All endpoints verified')" # Expected output: All endpoints verified ``` ## Verification Gate ## Verification Gate (FINAL) ```bash cd /home/david/Projects/keryx-bff && uv run pytest -v tests/ # Expected: all tests pass, 0 failures ``` If any step fails, mark this task as **blocked** with notes explaining what failed. Do NOT proceed past this task until verified. ## STOP Conditions ## STOP Conditions - If the final pytest run has any failures, stop and fix before marking done. Depends on: t-021
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: david/keryx-bff#22
No description provided.