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