import pytest pytestmark = pytest.mark.integration @pytest.mark.asyncio async def test_get_includes_downloader_fields(client): resp = await client.get("/api/settings/import") assert resp.status_code == 200 body = await resp.get_json() assert body["download_rate_limit_seconds"] == 3.0 assert body["download_validate_files"] is True @pytest.mark.asyncio async def test_patch_download_rate_limit(client): resp = await client.patch( "/api/settings/import", json={"download_rate_limit_seconds": 1.5} ) assert resp.status_code == 200 assert (await resp.get_json())["download_rate_limit_seconds"] == 1.5 @pytest.mark.asyncio async def test_patch_download_validate_files_false(client): resp = await client.patch( "/api/settings/import", json={"download_validate_files": False} ) assert resp.status_code == 200 assert (await resp.get_json())["download_validate_files"] is False @pytest.mark.asyncio async def test_patch_rejects_negative_rate_limit(client): resp = await client.patch( "/api/settings/import", json={"download_rate_limit_seconds": -1.0} ) assert resp.status_code == 400 @pytest.mark.asyncio async def test_patch_rejects_non_bool_validate(client): resp = await client.patch( "/api/settings/import", json={"download_validate_files": "yes"} ) assert resp.status_code == 400