diff --git a/tests/server/api/v1/test_metadata_mixin.py b/tests/server/api/v1/test_metadata_mixin.py index 48308e806..8e7ed2271 100644 --- a/tests/server/api/v1/test_metadata_mixin.py +++ b/tests/server/api/v1/test_metadata_mixin.py @@ -233,7 +233,7 @@ async def test_download_folder_as_zip(self, http_request, mock_stream): await handler.download_folder_as_zip() assert handler._headers['Content-Type'] == 'application/zip' - expected = 'attachment; filename="test_file.zip"; filename*=UTF-8\'\'test_file.zip' + expected = 'attachment; filename="guid1-test_file.zip"; filename*=UTF-8\'\'guid1-test_file.zip' assert handler._headers['Content-Disposition'] == expected handler.write_stream.assert_called_once_with(mock_stream) @@ -249,7 +249,7 @@ async def test_download_folder_as_zip_root(self, http_request, mock_stream): await handler.download_folder_as_zip() assert handler._headers['Content-Type'] == 'application/zip' - expected = 'attachment; filename="MockProvider-archive.zip"; filename*=UTF-8\'\'MockProvider-archive.zip' + expected = 'attachment; filename="guid1-MockProvider-archive.zip"; filename*=UTF-8\'\'guid1-MockProvider-archive.zip' assert handler._headers['Content-Disposition'] == expected handler.write_stream.assert_called_once_with(mock_stream) diff --git a/waterbutler/server/api/v1/provider/metadata.py b/waterbutler/server/api/v1/provider/metadata.py index add78e150..befe3352d 100644 --- a/waterbutler/server/api/v1/provider/metadata.py +++ b/waterbutler/server/api/v1/provider/metadata.py @@ -127,7 +127,7 @@ async def get_file_revisions(self): return self.write({'data': [r.json_api_serialized() for r in result]}) async def download_folder_as_zip(self): - zipfile_name = self.path.name or f'{self.provider.NAME}-archive' + zipfile_name = f'{self.path_kwargs.get("resource")}-{self.path.name}' if self.path.name else f'{self.path_kwargs.get("resource")}-{self.provider.NAME}-archive' self.set_header('Content-Type', 'application/zip') self.set_header('Content-Disposition', make_disposition(zipfile_name + '.zip'))