diff --git a/src/titiler/application/tests/routes/test_cog.py b/src/titiler/application/tests/routes/test_cog.py index a7b1fb8d0..473967aab 100644 --- a/src/titiler/application/tests/routes/test_cog.py +++ b/src/titiler/application/tests/routes/test_cog.py @@ -443,3 +443,14 @@ def test_json_response_with_nan(rio, app): assert response.status_code == 200 body = response.json() assert body["values"][0] is None + + +@patch("rio_tiler.io.rasterio.rasterio") +def test_invalid_format(rio, app): + """test /preview endpoint.""" + rio.open = mock_rasterio_open + + response = app.get( + "/cog/preview.png?url=https://myurl.com/cog.tif&bidx=1&bidx=1&bidx=1&bidx=1&rescale=0,1000&max_size=256" + ) + assert response.status_code == 400 diff --git a/src/titiler/core/titiler/core/errors.py b/src/titiler/core/titiler/core/errors.py index add40fd5e..3deafbfac 100644 --- a/src/titiler/core/titiler/core/errors.py +++ b/src/titiler/core/titiler/core/errors.py @@ -10,6 +10,7 @@ InvalidBandName, InvalidColorFormat, InvalidExpression, + InvalidFormat, MissingAssets, MissingBands, RioTilerError, @@ -48,6 +49,7 @@ class BadRequestError(TilerError): RioTilerError: status.HTTP_500_INTERNAL_SERVER_ERROR, Exception: status.HTTP_500_INTERNAL_SERVER_ERROR, InvalidExpression: status.HTTP_400_BAD_REQUEST, + InvalidFormat: status.HTTP_400_BAD_REQUEST, }