Skip to content

Commit 5e04b1e

Browse files
tests: Round out test image formats with new inputs
Assisted-by: Codex
1 parent 3f9d6de commit 5e04b1e

6 files changed

Lines changed: 50 additions & 17 deletions

File tree

tests/live/test_live_add_image_to_pdf.py

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@
77

88
from ..resources import get_test_resource_path
99

10+
IMAGE_RESOURCE_VARIANTS = (
11+
pytest.param(("test.jpg", "image/jpeg"), id="jpeg"),
12+
pytest.param(("test.png", "image/png"), id="png"),
13+
pytest.param(("test.tif", "image/tiff"), id="tiff"),
14+
pytest.param(("test.gif", "image/gif"), id="gif"),
15+
)
16+
1017

1118
@pytest.fixture(scope="module")
1219
def uploaded_pdf_for_image_addition(
@@ -21,32 +28,37 @@ def uploaded_pdf_for_image_addition(
2128
return client.files.create_from_paths([resource])[0]
2229

2330

24-
@pytest.fixture(scope="module")
25-
def uploaded_image(
31+
@pytest.fixture(scope="module", params=IMAGE_RESOURCE_VARIANTS)
32+
def uploaded_image_variant(
33+
request: pytest.FixtureRequest,
2634
pdfrest_api_key: str,
2735
pdfrest_live_base_url: str,
2836
) -> PdfRestFile:
29-
resource = get_test_resource_path("ducky.png")
37+
resource_name, expected_mime = request.param
38+
resource = get_test_resource_path(resource_name)
3039
with PdfRestClient(
3140
api_key=pdfrest_api_key,
3241
base_url=pdfrest_live_base_url,
3342
) as client:
34-
return client.files.create_from_paths([resource])[0]
43+
uploaded_image = client.files.create_from_paths([resource])[0]
44+
45+
assert uploaded_image.type == expected_mime
46+
return uploaded_image
3547

3648

3749
def test_live_add_image_to_pdf(
3850
pdfrest_api_key: str,
3951
pdfrest_live_base_url: str,
4052
uploaded_pdf_for_image_addition: PdfRestFile,
41-
uploaded_image: PdfRestFile,
53+
uploaded_image_variant: PdfRestFile,
4254
) -> None:
4355
with PdfRestClient(
4456
api_key=pdfrest_api_key,
4557
base_url=pdfrest_live_base_url,
4658
) as client:
4759
response = client.add_image_to_pdf(
4860
uploaded_pdf_for_image_addition,
49-
image=uploaded_image,
61+
image=uploaded_image_variant,
5062
x=25,
5163
y=50,
5264
page=1,
@@ -60,23 +72,23 @@ def test_live_add_image_to_pdf(
6072
assert output_file.size > 0
6173
assert response.warning is None
6274
assert uploaded_pdf_for_image_addition.id in response.input_ids
63-
assert uploaded_image.id in response.input_ids
75+
assert uploaded_image_variant.id in response.input_ids
6476

6577

6678
@pytest.mark.asyncio
6779
async def test_live_async_add_image_to_pdf(
6880
pdfrest_api_key: str,
6981
pdfrest_live_base_url: str,
7082
uploaded_pdf_for_image_addition: PdfRestFile,
71-
uploaded_image: PdfRestFile,
83+
uploaded_image_variant: PdfRestFile,
7284
) -> None:
7385
async with AsyncPdfRestClient(
7486
api_key=pdfrest_api_key,
7587
base_url=pdfrest_live_base_url,
7688
) as client:
7789
response = await client.add_image_to_pdf(
7890
uploaded_pdf_for_image_addition,
79-
image=uploaded_image,
91+
image=uploaded_image_variant,
8092
x=75,
8193
y=125,
8294
page=1,
@@ -88,14 +100,14 @@ async def test_live_async_add_image_to_pdf(
88100
assert output_file.size > 0
89101
assert response.warning is None
90102
assert uploaded_pdf_for_image_addition.id in response.input_ids
91-
assert uploaded_image.id in response.input_ids
103+
assert uploaded_image_variant.id in response.input_ids
92104

93105

94106
def test_live_add_image_to_pdf_invalid_page(
95107
pdfrest_api_key: str,
96108
pdfrest_live_base_url: str,
97109
uploaded_pdf_for_image_addition: PdfRestFile,
98-
uploaded_image: PdfRestFile,
110+
uploaded_image_variant: PdfRestFile,
99111
) -> None:
100112
with (
101113
PdfRestClient(
@@ -106,7 +118,7 @@ def test_live_add_image_to_pdf_invalid_page(
106118
):
107119
client.add_image_to_pdf(
108120
uploaded_pdf_for_image_addition,
109-
image=uploaded_image,
121+
image=uploaded_image_variant,
110122
x=0,
111123
y=0,
112124
page=1,
@@ -119,7 +131,7 @@ async def test_live_async_add_image_to_pdf_invalid_page(
119131
pdfrest_api_key: str,
120132
pdfrest_live_base_url: str,
121133
uploaded_pdf_for_image_addition: PdfRestFile,
122-
uploaded_image: PdfRestFile,
134+
uploaded_image_variant: PdfRestFile,
123135
) -> None:
124136
async with AsyncPdfRestClient(
125137
api_key=pdfrest_api_key,
@@ -128,7 +140,7 @@ async def test_live_async_add_image_to_pdf_invalid_page(
128140
with pytest.raises(PdfRestApiError, match=r"(?i)page"):
129141
await client.add_image_to_pdf(
130142
uploaded_pdf_for_image_addition,
131-
image=uploaded_image,
143+
image=uploaded_image_variant,
132144
x=0,
133145
y=0,
134146
page=1,

tests/resources/test.gif

138 KB
Loading

tests/resources/test.jpg

178 KB
Loading

tests/resources/test.tif

3.7 MB
Binary file not shown.

tests/test_add_image_to_pdf.py

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,26 @@
1818
make_pdf_file,
1919
)
2020

21+
IMAGE_MIME_VARIANTS = (
22+
pytest.param("image/jpeg", "logo.jpg", id="jpeg"),
23+
pytest.param("image/png", "logo.png", id="png"),
24+
pytest.param("image/tiff", "logo.tif", id="tiff"),
25+
pytest.param("image/gif", "logo.gif", id="gif"),
26+
)
27+
2128

22-
def test_add_image_to_pdf_success(monkeypatch: pytest.MonkeyPatch) -> None:
29+
@pytest.mark.parametrize(("image_mime_type", "image_name"), IMAGE_MIME_VARIANTS)
30+
def test_add_image_to_pdf_success(
31+
monkeypatch: pytest.MonkeyPatch,
32+
image_mime_type: str,
33+
image_name: str,
34+
) -> None:
2335
monkeypatch.delenv("PDFREST_API_KEY", raising=False)
2436
pdf_file = make_pdf_file(PdfRestFileID.generate(1))
2537
image_file = make_image_file(
26-
PdfRestFileID.generate(2), mime_type="image/jpeg", name="logo.jpg"
38+
PdfRestFileID.generate(2),
39+
mime_type=image_mime_type,
40+
name=image_name,
2741
)
2842
output_id = str(PdfRestFileID.generate())
2943

@@ -266,12 +280,19 @@ def handler(_: httpx.Request) -> httpx.Response:
266280

267281

268282
@pytest.mark.asyncio
283+
@pytest.mark.parametrize(("image_mime_type", "image_name"), IMAGE_MIME_VARIANTS)
269284
async def test_async_add_image_to_pdf_success(
270285
monkeypatch: pytest.MonkeyPatch,
286+
image_mime_type: str,
287+
image_name: str,
271288
) -> None:
272289
monkeypatch.delenv("PDFREST_API_KEY", raising=False)
273290
pdf_file = make_pdf_file(PdfRestFileID.generate(1))
274-
image_file = make_image_file(PdfRestFileID.generate(2), mime_type="image/gif")
291+
image_file = make_image_file(
292+
PdfRestFileID.generate(2),
293+
mime_type=image_mime_type,
294+
name=image_name,
295+
)
275296
output_id = str(PdfRestFileID.generate())
276297

277298
seen: dict[str, int] = {"post": 0, "get": 0}

0 commit comments

Comments
 (0)