diff --git a/backend/modules/browser/browser_handlers.py b/backend/modules/browser/browser_handlers.py index aa760c766..3a726d068 100644 --- a/backend/modules/browser/browser_handlers.py +++ b/backend/modules/browser/browser_handlers.py @@ -52,9 +52,10 @@ def get(self, dataset: str, datatype: str, item: str, # pylint: disable=too-man """ # ctrl.filterVariantsBy~ctrl.filterIncludeNonPass dataset, ds_version = utils.parse_dataset(dataset, ds_version) + filename = f'{dataset}_{datatype}_{item}.csv' self.set_header('Content-Type', 'text/csv') self.set_header(f'content-Disposition', - 'attachement; filename={f"{dataset}_{datatype}_{item}.csv"}') + f'attachment; filename={filename}') data = utils.get_variant_list(dataset, datatype, item, ds_version) # filter variants based on what is shown diff --git a/backend/modules/browser/tests/test_browser_handlers.py b/backend/modules/browser/tests/test_browser_handlers.py index debcc9bbd..2657323de 100644 --- a/backend/modules/browser/tests/test_browser_handlers.py +++ b/backend/modules/browser/tests/test_browser_handlers.py @@ -33,19 +33,22 @@ def test_download(): response = requests.get('{}/api/dataset/{}/browser/download/{}/{}'.format(BASE_URL, dataset, data_type, data_item)) assert len(response.text.split('\n')) == 180 # header + 178 + \n response = requests.get('{}/api/dataset/{}/browser/download/{}/{}/filter/all~false'.format(BASE_URL, dataset, data_type, data_item)) - import logging - logging.error(response.text.split('\n')) assert len(response.text.split('\n')) == 8 response = requests.get('{}/api/dataset/{}/browser/download/{}/{}/filter/all~true'.format(BASE_URL, dataset, data_type, data_item)) assert len(response.text.split('\n')) == 180 response = requests.get('{}/api/dataset/{}/browser/download/{}/{}/filter/mislof~true'.format(BASE_URL, dataset, data_type, data_item)) assert len(response.text.split('\n')) == 2 + filename = f'{dataset}_{data_type}_{data_item}.csv' + assert response.headers['content-disposition'] == f'attachment; filename={filename}' + data_type = 'region' data_item = '22-29450622-29465622' response = requests.get('{}/api/dataset/{}/browser/download/{}/{}/filter/mislof~false'.format(BASE_URL, dataset, data_type, data_item)) assert len(response.text.split('\n')) == 3 response = requests.get('{}/api/dataset/{}/browser/download/{}/{}/filter/lof~false'.format(BASE_URL, dataset, data_type, data_item)) assert len(response.text.split('\n')) == 3 + filename = f'{dataset}_{data_type}_{data_item}.csv' + assert response.headers['content-disposition'] == f'attachment; filename={filename}' def test_get_coverage():