feat: implement timeout handling and error messages for image generation
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user