Skip to content

Commit 05f2e3e

Browse files
committed
Add tests/test_models.py
1 parent 3992b67 commit 05f2e3e

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

tests/test_models.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import pytest
2+
from firefly.models import FireflyImageSize, FireflyImage, FireflyImageOutput, FireflyImageResponse
3+
from unittest.mock import Mock
4+
5+
6+
def test_firefly_image_size():
7+
size = FireflyImageSize(width=128, height=256)
8+
assert size.width == 128
9+
assert size.height == 256
10+
11+
12+
def test_firefly_image():
13+
img = FireflyImage(url="http://example.com/image.png")
14+
assert img.url == "http://example.com/image.png"
15+
16+
17+
def test_firefly_image_output():
18+
img = FireflyImage(url="http://example.com/image.png")
19+
output = FireflyImageOutput(seed=42, image=img)
20+
assert output.seed == 42
21+
assert output.image == img
22+
23+
24+
def test_firefly_image_response_json_with_response():
25+
mock_response = Mock()
26+
mock_response.json.return_value = {"foo": "bar"}
27+
size = FireflyImageSize(width=64, height=64)
28+
img = FireflyImage(url="http://example.com/image.png")
29+
output = FireflyImageOutput(seed=1, image=img)
30+
resp = FireflyImageResponse(size=size, outputs=[output], _response=mock_response)
31+
assert resp.json() == {"foo": "bar"}
32+
mock_response.json.assert_called_once()
33+
34+
35+
def test_firefly_image_response_json_without_response():
36+
size = FireflyImageSize(width=64, height=64)
37+
img = FireflyImage(url="http://example.com/image.png")
38+
output = FireflyImageOutput(seed=1, image=img)
39+
resp = FireflyImageResponse(size=size, outputs=[output], _response=None)
40+
assert resp.json() is None
41+
42+
43+
def test_firefly_image_response_content_class():
44+
size = FireflyImageSize(width=32, height=32)
45+
img = FireflyImage(url="http://example.com/image.png")
46+
output = FireflyImageOutput(seed=2, image=img)
47+
resp = FireflyImageResponse(size=size, outputs=[output], contentClass="test-class")
48+
assert resp.contentClass == "test-class"

0 commit comments

Comments
 (0)