Incorporate temp file check in teh GenericViewTestCase class.

This commit is contained in:
Roberto Rosario
2016-06-23 22:31:08 -04:00
parent 98e6ba2b50
commit a76a55f70a
4 changed files with 20 additions and 20 deletions

View File

@@ -1,5 +1,7 @@
from __future__ import absolute_import, unicode_literals from __future__ import absolute_import, unicode_literals
import os
from django.conf.urls import url from django.conf.urls import url
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group 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 TEST_USER_EMAIL, TEST_USER_USERNAME, TEST_USER_PASSWORD
) )
from ..settings import setting_temporary_directory
from .literals import TEST_VIEW_NAME, TEST_VIEW_URL from .literals import TEST_VIEW_NAME, TEST_VIEW_URL
class GenericViewTestCase(TestCase): class GenericViewTestCase(TestCase):
def setUp(self): def setUp(self):
self.temp_items = len(os.listdir(setting_temporary_directory.value))
self.has_test_view = False self.has_test_view = False
self.admin_user = get_user_model().objects.create_superuser( self.admin_user = get_user_model().objects.create_superuser(
username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL,
@@ -45,6 +51,10 @@ class GenericViewTestCase(TestCase):
if self.has_test_view: if self.has_test_view:
urlpatterns.pop(0) urlpatterns.pop(0)
self.assertEqual(
self.temp_items, len(os.listdir(setting_temporary_directory.value))
)
def add_test_view(self, test_object): def add_test_view(self, test_object):
from mayan.urls import urlpatterns from mayan.urls import urlpatterns

View File

@@ -2,6 +2,7 @@ from __future__ import unicode_literals
import logging import logging
import os import os
import shutil
import tempfile import tempfile
import types import types
@@ -51,10 +52,13 @@ def fs_cleanup(filename, suppress_exceptions=True):
try: try:
os.remove(filename) os.remove(filename)
except OSError: except OSError:
if suppress_exceptions: try:
pass shutil.rmtree(filename)
else: except OSError:
raise if suppress_exceptions:
pass
else:
raise
def get_descriptor(file_input, read=True): def get_descriptor(file_input, read=True):

View File

@@ -1,7 +1,5 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import os
from django.core.files.base import File from django.core.files.base import File
from django.test import TestCase, override_settings 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 '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) @override_settings(OCR_AUTO_OCR=False)
class TextExtractorTestCase(TestCase): class TextExtractorTestCase(TestCase):

View File

@@ -10,7 +10,7 @@ from django.test import TestCase, override_settings
from acls.models import AccessControlList from acls.models import AccessControlList
from common.tests.test_views import GenericViewTestCase 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.models import Document, DocumentType, NewVersionBlock
from documents.permissions import permission_document_create from documents.permissions import permission_document_create
from documents.tests import ( from documents.tests import (
@@ -226,14 +226,13 @@ class StagingFolderTestCase(GenericViewTestCase):
def setUp(self): def setUp(self):
super(StagingFolderTestCase, self).setUp() super(StagingFolderTestCase, self).setUp()
self.temporary_directory = mkdtemp() self.temporary_directory = mkdtemp()
# TODO: remove temp directory after test
shutil.copy(TEST_SMALL_DOCUMENT_PATH, self.temporary_directory) shutil.copy(TEST_SMALL_DOCUMENT_PATH, self.temporary_directory)
self.filename = os.path.basename(TEST_SMALL_DOCUMENT_PATH) self.filename = os.path.basename(TEST_SMALL_DOCUMENT_PATH)
def tearDown(self): def tearDown(self):
fs_cleanup(self.temporary_directory)
super(StagingFolderTestCase, self).tearDown() super(StagingFolderTestCase, self).tearDown()
shutil.rmtree(self.temporary_directory)
def test_staging_folder_delete_no_permission(self): def test_staging_folder_delete_no_permission(self):
self.login( self.login(