Merge pull request #4090 from alphagov/limit-csv-file-size-177535141

Reject CSV / Spreadsheet files larger than 10Mb
This commit is contained in:
Ben Thorner
2021-12-07 17:00:05 +00:00
committed by GitHub
2 changed files with 29 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ from glob import glob
from io import BytesIO
from itertools import repeat
from os import path
from random import randbytes
from unittest.mock import ANY
from uuid import uuid4
from zipfile import BadZipFile
@@ -966,6 +967,25 @@ def test_upload_csv_invalid_extension(
assert "invalid.txt is not a spreadsheet that Notify can read" in resp.get_data(as_text=True)
def test_upload_csv_size_too_big(
logged_in_client,
mock_login,
service_one,
mock_get_service_template,
fake_uuid,
):
resp = logged_in_client.post(
url_for('main.send_messages', service_id=service_one['id'], template_id=fake_uuid),
data={'file': (BytesIO(randbytes(11_000_000)), 'invalid.csv')},
content_type='multipart/form-data',
follow_redirects=True
)
assert resp.status_code == 200
assert "File must be smaller than 10Mb" in resp.get_data(as_text=True)
def test_upload_valid_csv_redirects_to_check_page(
client_request,
mock_get_service_template_with_placeholders,