def test_get_file_content_headers(self): # === Initialization === display_name = 'test123' extension = 'png' category = FileCategory.UPLOADS _hash = '123456789abcdefghiklmnopqrstuvwxyz' full_display_name = display_name + "." + extension expected_content_type = "image/png" expected_content_disposition = 'inline; filename="{}"'.format( full_display_name) _file = MagicMock(spec=dir(File)) _file.id = 1 _file.hash = _hash _file.category = category _file.display_name = display_name _file.extension = extension _file.full_display_name = full_display_name # === Service function call === with patch.object(file_service, 'get_file_mimetype', return_value=expected_content_type): headers = file_service.get_file_content_headers(_file) # === Assertions === assert "Content-Type" in headers assert "Content-Disposition" in headers self.assertEqual(headers["Content-Type"], expected_content_type) self.assertEqual(headers["Content-Disposition"], expected_content_disposition)
def test_get_file_content_headers_no_display_name(self): # === Initialization === display_name = None extension = 'png' category = FileCategory.ACTIVITY_PICTURE _hash = '123456789abcdefghiklmnopqrstuvwxyz' full_display_name = None expected_content_type = "image/png" _file = MagicMock(spec=dir(File)) _file.id = 1 _file.hash = _hash _file.category = category _file.display_name = display_name _file.extension = extension _file.full_display_name = full_display_name # === Service function call === with patch.object(file_service, 'get_file_mimetype', return_value=expected_content_type): headers = file_service.get_file_content_headers(_file) # === Assertions === assert "Content-Type" in headers assert "Content-Disposition" not in headers self.assertEqual(headers["Content-Type"], expected_content_type)
def search_test_case(filenames, search, expect_in_result, expect_ordering=None): files = [] for i, fn in enumerate(filenames): [display_name, extension] = fn.split('.') category = FileCategory.UPLOADS _hash = '123456789abcdefghiklmnopqrstuvwxyz' _file = MagicMock(spec=dir(File)) _file.id = i + 1 _file.hash = _hash _file.category = category _file.display_name = display_name _file.extension = extension _file.full_display_name = fn files.append(_file) file_repository_mock.find_all_files_by_category.return_value = files search_results = file_service.search_files_in_uploads(search) search_results_filenames = [r.full_display_name for r in search_results] expect_in_result = set(expect_in_result) for fn in filenames: if fn in expect_in_result: assert fn in search_results_filenames, fn else: assert fn not in search_results_filenames, fn if expect_ordering: # Test if we have the same ordering in the result prev_index = -1 for fn in expect_ordering: assert fn in expect_in_result, fn index = search_results_filenames.index(fn) assert index > prev_index, fn prev_index = index