30 lines
920 B
Python
30 lines
920 B
Python
from app.errors import ComfyUIError, InvalidRequest, Unauthorized, error_body
|
|
from app.schemas import ImageGenerationRequest
|
|
|
|
import pytest
|
|
|
|
|
|
def test_error_body_canonical_shape():
|
|
body = error_body("boom", "server_error", "comfyui_timeout")
|
|
assert body == {"error": {"message": "boom", "type": "server_error", "param": None, "code": "comfyui_timeout"}}
|
|
|
|
|
|
def test_exception_status_mapping():
|
|
assert InvalidRequest("x").status == 400
|
|
assert Unauthorized().status == 401
|
|
assert ComfyUIError("x").status == 502
|
|
|
|
|
|
def test_generation_request_defaults():
|
|
r = ImageGenerationRequest(prompt="p")
|
|
assert r.size == "1024x1024"
|
|
assert r.n == 1
|
|
assert r.seed is None
|
|
assert r.model is None
|
|
|
|
|
|
@pytest.mark.parametrize("bad", ["", "abc", "1024", "1024x", "0x10", "10x0"])
|
|
def test_size_validation(bad):
|
|
with pytest.raises(ValueError):
|
|
ImageGenerationRequest(prompt="p", size=bad)
|