feat: implement timeout handling and error messages for image generation

This commit is contained in:
2026-05-31 11:54:11 +02:00
parent c410c2e80d
commit 5794c96c21
4 changed files with 85 additions and 26 deletions
+22
View File
@@ -3,6 +3,8 @@ import os
import pytest
from unittest.mock import MagicMock, patch
import httpx
os.environ.setdefault("FLASK_SECRET_KEY", "test-secret")
os.environ.setdefault("BACKEND_URL", "http://backend-mock")
@@ -311,6 +313,26 @@ def test_generate_image_success(client):
assert b"example.com/img.png" in resp.data
def test_generate_image_timeout_shows_message(client):
_set_auth(client)
def _request_side_effect(method, url, **kwargs):
if url.endswith("/generate/image"):
raise httpx.ReadTimeout("timed out")
if url.endswith("/auth/validate"):
return _mock_response(200, {"valid": True})
if url.endswith("/models/"):
return _mock_response(200, [{"id": "openai/dall-e-3", "name": "DALL-E", "modality": "image"}])
return _mock_response(200, {})
with patch("app.helpers.httpx.request", side_effect=_request_side_effect):
resp = client.post("/generate/image", data={
"model": "openai/dall-e-3", "prompt": "A cat", "n": "1", "size": "1024x1024"
})
assert resp.status_code == 200
assert b"timed out" in resp.data
def test_generate_video_page_renders(client):
_set_auth(client)
resp = client.get("/generate/video")