feat(image-lab): /api/internal/image/update webhook (video-lab 복제)
This commit is contained in:
38
image-lab/tests/test_internal_router.py
Normal file
38
image-lab/tests/test_internal_router.py
Normal file
@@ -0,0 +1,38 @@
|
||||
import os, tempfile, importlib
|
||||
from fastapi import FastAPI
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
def _client(monkeypatch, tmp):
|
||||
monkeypatch.setenv("IMAGE_DATA_DIR", tmp)
|
||||
monkeypatch.setenv("INTERNAL_API_KEY", "secret")
|
||||
import app.db as db; importlib.reload(db); db.init_db()
|
||||
import app.internal_router as ir; importlib.reload(ir)
|
||||
app = FastAPI(); app.include_router(ir.router)
|
||||
return TestClient(app), db
|
||||
|
||||
def test_update_requires_key(monkeypatch):
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
client, db = _client(monkeypatch, tmp)
|
||||
db.create_task("t1", "gpt_image", {"prompt": "x"})
|
||||
r = client.post("/api/internal/image/update",
|
||||
json={"task_id": "t1", "status": "succeeded", "progress": 100})
|
||||
assert r.status_code == 422 or r.status_code == 401 # header 누락
|
||||
|
||||
def test_update_succeeds_with_key(monkeypatch):
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
client, db = _client(monkeypatch, tmp)
|
||||
db.create_task("t1", "gpt_image", {"prompt": "x"})
|
||||
r = client.post("/api/internal/image/update",
|
||||
headers={"X-Internal-Key": "secret"},
|
||||
json={"task_id": "t1", "status": "succeeded", "progress": 100,
|
||||
"image_url": "/media/image/t1.png"})
|
||||
assert r.status_code == 200
|
||||
assert db.get_task("t1")["image_url"] == "/media/image/t1.png"
|
||||
|
||||
def test_update_unknown_task_404(monkeypatch):
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
client, db = _client(monkeypatch, tmp)
|
||||
r = client.post("/api/internal/image/update",
|
||||
headers={"X-Internal-Key": "secret"},
|
||||
json={"task_id": "nope", "status": "failed", "progress": 0})
|
||||
assert r.status_code == 404
|
||||
Reference in New Issue
Block a user