Skip to content

Commit eff7194

Browse files
datalogics-kamdatalogics-cgreen
authored andcommitted
tests/live: Add tests for invalid restriction handling in password permissions
- Added `test_live_add_permissions_password_invalid_restriction` to verify that invalid restrictions raise `PdfRestApiError` in sync client. - Added `test_live_async_add_permissions_password_invalid_restriction` to ensure async client correctly handles invalid restrictions. Assisted-by: Codex
1 parent 3ecf44c commit eff7194

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

tests/live/test_live_permissions_password.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,3 +267,46 @@ async def test_live_async_remove_permissions_password_invalid_password(
267267
restricted_file,
268268
current_permissions_password=wrong_password,
269269
)
270+
271+
272+
def test_live_add_permissions_password_invalid_restriction(
273+
pdfrest_api_key: str,
274+
pdfrest_live_base_url: str,
275+
uploaded_pdf_for_permissions: PdfRestFile,
276+
) -> None:
277+
invalid_restriction = "totally-invalid-restriction"
278+
with (
279+
PdfRestClient(
280+
api_key=pdfrest_api_key,
281+
base_url=pdfrest_live_base_url,
282+
) as client,
283+
pytest.raises(PdfRestApiError, match=r"(?i)restriction|invalid"),
284+
):
285+
client.add_permissions_password(
286+
uploaded_pdf_for_permissions,
287+
new_permissions_password=make_password("live-invalid-restriction"),
288+
restrictions=["print_low"],
289+
extra_body={"restrictions": [invalid_restriction]},
290+
)
291+
292+
293+
@pytest.mark.asyncio
294+
async def test_live_async_add_permissions_password_invalid_restriction(
295+
pdfrest_api_key: str,
296+
pdfrest_live_base_url: str,
297+
uploaded_pdf_for_permissions: PdfRestFile,
298+
) -> None:
299+
invalid_restriction = "totally-invalid-restriction"
300+
async with AsyncPdfRestClient(
301+
api_key=pdfrest_api_key,
302+
base_url=pdfrest_live_base_url,
303+
) as client:
304+
with pytest.raises(PdfRestApiError, match=r"(?i)restriction|invalid"):
305+
await client.add_permissions_password(
306+
uploaded_pdf_for_permissions,
307+
new_permissions_password=make_password(
308+
"async-live-invalid-restriction"
309+
),
310+
restrictions=["print_low"],
311+
extra_body={"restrictions": [invalid_restriction]},
312+
)

0 commit comments

Comments
 (0)