diff --git a/mayan/apps/common/tests/test_views.py b/mayan/apps/common/tests/test_views.py index b7851896e9..fdc2bce50d 100644 --- a/mayan/apps/common/tests/test_views.py +++ b/mayan/apps/common/tests/test_views.py @@ -1,5 +1,7 @@ from __future__ import absolute_import, unicode_literals +import os + from django.conf.urls import url from django.contrib.auth import get_user_model from django.contrib.auth.models import Group @@ -16,11 +18,15 @@ from user_management.tests import ( TEST_USER_EMAIL, TEST_USER_USERNAME, TEST_USER_PASSWORD ) +from ..settings import setting_temporary_directory + from .literals import TEST_VIEW_NAME, TEST_VIEW_URL class GenericViewTestCase(TestCase): def setUp(self): + self.temp_items = len(os.listdir(setting_temporary_directory.value)) + self.has_test_view = False self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, @@ -45,6 +51,10 @@ class GenericViewTestCase(TestCase): if self.has_test_view: urlpatterns.pop(0) + self.assertEqual( + self.temp_items, len(os.listdir(setting_temporary_directory.value)) + ) + def add_test_view(self, test_object): from mayan.urls import urlpatterns diff --git a/mayan/apps/common/utils.py b/mayan/apps/common/utils.py index 8fe68a21b7..56889d2774 100644 --- a/mayan/apps/common/utils.py +++ b/mayan/apps/common/utils.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import logging import os +import shutil import tempfile import types @@ -51,10 +52,13 @@ def fs_cleanup(filename, suppress_exceptions=True): try: os.remove(filename) except OSError: - if suppress_exceptions: - pass - else: - raise + try: + shutil.rmtree(filename) + except OSError: + if suppress_exceptions: + pass + else: + raise def get_descriptor(file_input, read=True): diff --git a/mayan/apps/ocr/tests/test_parsers.py b/mayan/apps/ocr/tests/test_parsers.py index f11c6ec12c..202f80e70b 100644 --- a/mayan/apps/ocr/tests/test_parsers.py +++ b/mayan/apps/ocr/tests/test_parsers.py @@ -1,7 +1,5 @@ from __future__ import unicode_literals -import os - from django.core.files.base import File from django.test import TestCase, override_settings @@ -48,17 +46,6 @@ class ParserTestCase(TestCase): 'Mayan EDMS Documentation' in self.document.pages.first().ocr_content.content ) - def test_poppler_parser_cleanup(self): - temp_items = len(os.listdir(setting_temporary_directory.value)) - - parser = PopplerParser() - - parser.process_document_version(self.document.latest_version) - - self.assertEqual( - temp_items, len(os.listdir(setting_temporary_directory.value)) - ) - @override_settings(OCR_AUTO_OCR=False) class TextExtractorTestCase(TestCase): diff --git a/mayan/apps/sources/tests/test_views.py b/mayan/apps/sources/tests/test_views.py index 97a49d05ac..b5e45aaadf 100644 --- a/mayan/apps/sources/tests/test_views.py +++ b/mayan/apps/sources/tests/test_views.py @@ -10,7 +10,7 @@ from django.test import TestCase, override_settings from acls.models import AccessControlList from common.tests.test_views import GenericViewTestCase -from common.utils import mkdtemp +from common.utils import fs_cleanup, mkdtemp from documents.models import Document, DocumentType, NewVersionBlock from documents.permissions import permission_document_create from documents.tests import ( @@ -226,14 +226,13 @@ class StagingFolderTestCase(GenericViewTestCase): def setUp(self): super(StagingFolderTestCase, self).setUp() self.temporary_directory = mkdtemp() - # TODO: remove temp directory after test shutil.copy(TEST_SMALL_DOCUMENT_PATH, self.temporary_directory) self.filename = os.path.basename(TEST_SMALL_DOCUMENT_PATH) def tearDown(self): + fs_cleanup(self.temporary_directory) super(StagingFolderTestCase, self).tearDown() - shutil.rmtree(self.temporary_directory) def test_staging_folder_delete_no_permission(self): self.login(