fix(test): correct confirm API path in test_confirm_generation.py
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1m1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m5s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m10s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m10s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
AI Code Review / AI Code Review (pull_request) Successful in 2m15s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m37s
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m14s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m42s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m42s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 4m12s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 8m7s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m23s
CI/CD Pipeline / CI Gate (pull_request) Successful in 6s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 38s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 51s

Route was moved to /api/v1/generation/tasks/{task_id}/confirm but
test file still used /api/v1/tasks/{task_id}/confirm, causing 404.

- Updated app fixture prefix from /api/v1 to /api/v1/generation
- Updated all 9 test URLs to use /api/v1/generation/tasks/ path
- Updated docstring to reflect correct endpoint path
This commit is contained in:
xiaoxia
2026-08-13 14:55:31 +08:00
parent 915e551ecc
commit 23be99d9dd
+11 -11
View File
@@ -1,6 +1,6 @@
"""确认生成 API 单元测试.
覆盖 POST /tasks/{task_id}/confirm 端点:
覆盖 POST /generation/tasks/{task_id}/confirm 端点:
- 预览任务已完成 → 直接复用(mark_confirmed),秒出
- 预览任务未完成 → 创建新任务走渲染流程
- 预览任务不存在 → 404
@@ -150,7 +150,7 @@ def app(
)
test_app = FastAPI()
test_app.include_router(router, prefix="/api/v1")
test_app.include_router(router, prefix="/api/v1/generation")
def override_get_current_user():
return FakeAuthenticatedUser()
@@ -228,7 +228,7 @@ class TestConfirmGenerationReuse:
initial_count = len(gen_task_repo._store)
resp = client.post(
f"/api/v1/tasks/{preview.id}/confirm",
f"/api/v1/generation/tasks/{preview.id}/confirm",
json={
"output_width": 1080,
"output_height": 1920,
@@ -266,7 +266,7 @@ class TestConfirmGenerationReuse:
gen_task_repo.create(preview)
resp = client.post(
f"/api/v1/tasks/{preview.id}/confirm",
f"/api/v1/generation/tasks/{preview.id}/confirm",
json={"cover_url": "https://cdn.example.com/cover.png", "custom_title": "测试标题"},
)
@@ -290,7 +290,7 @@ class TestConfirmGenerationReuse:
with patch("app.api.routes.generation_tasks.safe_enqueue_generation_task", return_value=True):
resp = client.post(
f"/api/v1/tasks/{preview.id}/confirm",
f"/api/v1/generation/tasks/{preview.id}/confirm",
json={"output_width": 1080, "output_height": 1920},
)
@@ -308,7 +308,7 @@ class TestConfirmGenerationErrors:
def test_confirm_not_found(self, client: TestClient) -> None:
"""预览任务不存在 → 404"""
resp = client.post(
"/api/v1/tasks/nonexistent-task/confirm",
"/api/v1/generation/tasks/nonexistent-task/confirm",
json={"output_width": 1080, "output_height": 1920},
)
assert resp.status_code == 404
@@ -324,7 +324,7 @@ class TestConfirmGenerationErrors:
gen_task_repo.create(preview)
resp = client.post(
f"/api/v1/tasks/{preview.id}/confirm",
f"/api/v1/generation/tasks/{preview.id}/confirm",
json={"output_width": 1080, "output_height": 1920},
)
assert resp.status_code == 403
@@ -345,7 +345,7 @@ class TestConfirmGenerationErrors:
gen_task_repo.create(preview)
resp = client.post(
f"/api/v1/tasks/{preview.id}/confirm",
f"/api/v1/generation/tasks/{preview.id}/confirm",
json={"output_width": 1920, "output_height": 1080},
)
@@ -373,7 +373,7 @@ class TestConfirmGenerationErrors:
gen_task_repo.create(preview)
resp = client.post(
f"/api/v1/tasks/{preview.id}/confirm",
f"/api/v1/generation/tasks/{preview.id}/confirm",
json={
"output_width": 1080,
"output_height": 1920,
@@ -397,7 +397,7 @@ class TestConfirmGenerationErrors:
gen_task_repo.create(preview)
resp = client.post(
f"/api/v1/tasks/{preview.id}/confirm",
f"/api/v1/generation/tasks/{preview.id}/confirm",
json={},
)
@@ -419,7 +419,7 @@ class TestConfirmGenerationErrors:
with patch("app.api.routes.generation_tasks.safe_enqueue_generation_task", return_value=True):
resp = client.post(
f"/api/v1/tasks/{preview.id}/confirm",
f"/api/v1/generation/tasks/{preview.id}/confirm",
json={"output_width": 720, "output_height": 1280},
)