Skip to content

Commit e69d45f

Browse files
Add more test cases
1 parent 4ebe5f9 commit e69d45f

File tree

3 files changed

+73
-3
lines changed

3 files changed

+73
-3
lines changed

imagekitio/models/results/EmbeddedMetadata.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ def __init__(self, x_resolution=None, y_resolution=None, date_created=None, date
44
self.y_resolution = y_resolution
55
self.date_created = date_created
66
self.date_time_created = date_time_created
7+

tests/test_generate_url.py

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,42 @@ def setUp(self) -> None:
1111
public_key="public_key_test",
1212
url_endpoint="https://test-domain.com/test-endpoint",
1313
)
14-
1514
def test_generate_url_with_path(self):
1615
options = {
1716
"path": "/default-image.jpg",
18-
"transformation": [{"raw":"f-auto","height": "300", "width": "400"}],
17+
"transformation": [{"height": "300", "width": "400"}],
18+
}
19+
url = self.client.url(options)
20+
self.assertEqual(
21+
url,
22+
"https://test-domain.com/test-endpoint/tr:h-300,w-400/default-image.jpg",
23+
)
24+
def test_generate_url_with_path_with_ik_attachment(self):
25+
options = {
26+
"path": "/default-image.jpg",
27+
"transformation": [{"height": "300", "width": "400"}],
1928
"query_parameters": {
2029
"ik-attachment":True
2130
},
2231
}
2332
url = self.client.url(options)
2433
self.assertEqual(
2534
url,
26-
"https://test-domain.com/test-endpoint/tr:f-auto,h-300,w-400/default-image.jpg?ik-attachment=true",
35+
"https://test-domain.com/test-endpoint/tr:h-300,w-400/default-image.jpg?ik-attachment=true",
2736
)
2837

38+
def test_generate_url_With_path_with_transformation_raw(self):
39+
options = {
40+
"path": "/default-image.jpg",
41+
"transformation": [{"raw":"f-auto","height": "300", "width": "400"}],
42+
43+
}
44+
url = self.client.url(options)
45+
self.assertEqual(
46+
url,
47+
"https://test-domain.com/test-endpoint/tr:f-auto,h-300,w-400/default-image.jpg",
48+
)
49+
2950
def test_overriding_url_endpoint_generation_consists_new_url(self):
3051
"""
3152
Overriding urlEndpoint parameter. Passing a urlEndpoint value which is

tests/test_utils_utils.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import unittest
2+
3+
from imagekitio.utils.utils import convert_to_response_object
4+
from imagekitio.models.results.UploadFileResult import UploadFileResult
5+
6+
from requests.models import Response
7+
8+
import responses
9+
10+
class TestUtilsUtils(unittest.TestCase):
11+
12+
13+
@responses.activate()
14+
def test_convert_to_response_object(self):
15+
response = Response()
16+
response.status_code = 200
17+
response._content = b'{"fileId":"abc123","name":"file.jpg","size":812557,"versionInfo":{"id":"abc123","name":"Version 1"},"filePath":"/file.jpg","url":"http://test.com","fileType":"image","height":398,"width":1000,"thumbnailUrl":"https://test.com","AITags":null,"embeddedMetadata":{"XResolution":1,"YResolution":1,"DateCreated":"2023-06-22T09:06:21.151Z","DateTimeCreated":"2023-06-22T09:06:21.151Z"}}'
18+
u = convert_to_response_object(response,UploadFileResult)
19+
expectedUploadFileResponse = {'file_id': 'abc123', 'name': 'file.jpg', 'size': 812557, 'version_info': {'id': 'abc123', 'name': 'Version 1'}, 'file_path': '/file.jpg', 'url': 'http://test.com', 'file_type': 'image', 'height': 398, 'width': 1000, 'thumbnail_url': 'https://test.com', 'ai_tags': None, 'embedded_metadata': {'x_resolution': 1, 'y_resolution': 1, 'date_created': '2023-06-22T09:06:21.151Z', 'date_time_created': '2023-06-22T09:06:21.151Z'}}
20+
expectedUploadFileResult = UploadFileResult(**expectedUploadFileResponse)
21+
22+
self.assertEqual(u.file_id,expectedUploadFileResult.file_id)
23+
self.assertEqual(u.name,expectedUploadFileResult.name)
24+
self.assertEqual(u.url,expectedUploadFileResult.url)
25+
self.assertEqual(u.thumbnail_url,expectedUploadFileResult.thumbnail_url)
26+
self.assertEqual(u.height,expectedUploadFileResult.height)
27+
self.assertEqual(u.width,expectedUploadFileResult.width)
28+
self.assertEqual(u.size,expectedUploadFileResult.size)
29+
self.assertEqual(u.file_path,expectedUploadFileResult.file_path)
30+
self.assertEqual(u.tags,expectedUploadFileResult.tags)
31+
32+
for tag1,tag2 in zip(u.ai_tags,expectedUploadFileResult.ai_tags):
33+
self.assertEqual(tag1.confidence,tag2.confidence)
34+
self.assertEqual(tag1.name,tag2.name)
35+
self.assertEqual(tag1.source,tag2.source)
36+
37+
self.assertEqual(u.version_info.id,expectedUploadFileResult.version_info.id)
38+
self.assertEqual(u.version_info.name,expectedUploadFileResult.version_info.name)
39+
self.assertEqual(u.is_private_file,expectedUploadFileResult.is_private_file)
40+
self.assertEqual(u.custom_coordinates,expectedUploadFileResult.custom_coordinates)
41+
self.assertEqual(u.custom_metadata,expectedUploadFileResult.custom_metadata)
42+
self.assertEqual(u.embedded_metadata.x_resolution,expectedUploadFileResult.embedded_metadata.x_resolution)
43+
self.assertEqual(u.embedded_metadata.y_resolution,expectedUploadFileResult.embedded_metadata.y_resolution)
44+
self.assertEqual(u.embedded_metadata.date_time_created,expectedUploadFileResult.embedded_metadata.date_time_created)
45+
self.assertEqual(u.embedded_metadata.date_created,expectedUploadFileResult.embedded_metadata.date_created)
46+
self.assertEqual(u.extension_status,expectedUploadFileResult.extension_status)
47+
self.assertEqual(u.file_type,expectedUploadFileResult.file_type)
48+
self.assertEqual(u.orientation,expectedUploadFileResult.orientation)

0 commit comments

Comments
 (0)