diff --git a/mayan/apps/acls/tests/test_api.py b/mayan/apps/acls/tests/test_api.py index 42d1c61fc5..66c6c94878 100644 --- a/mayan/apps/acls/tests/test_api.py +++ b/mayan/apps/acls/tests/test_api.py @@ -24,7 +24,7 @@ class ACLAPITestCase(BaseAPITestCase): label=TEST_DOCUMENT_TYPE_LABEL ) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document = self.document_type.new_document( file_object=file_object ) diff --git a/mayan/apps/acls/tests/test_models.py b/mayan/apps/acls/tests/test_models.py index 72063bedb7..eed37b700d 100644 --- a/mayan/apps/acls/tests/test_models.py +++ b/mayan/apps/acls/tests/test_models.py @@ -26,17 +26,17 @@ class PermissionTestCase(BaseTestCase): label=TEST_DOCUMENT_TYPE_2_LABEL ) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document_1 = self.document_type_1.new_document( file_object=file_object ) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document_2 = self.document_type_1.new_document( file_object=file_object ) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document_3 = self.document_type_2.new_document( file_object=file_object ) diff --git a/mayan/apps/cabinets/tests/test_models.py b/mayan/apps/cabinets/tests/test_models.py index 391f678f04..9d3f65e14b 100644 --- a/mayan/apps/cabinets/tests/test_models.py +++ b/mayan/apps/cabinets/tests/test_models.py @@ -20,7 +20,7 @@ class CabinetTestCase(BaseTestCase): label=TEST_DOCUMENT_TYPE_LABEL ) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document = self.document_type.new_document( file_object=file_object ) diff --git a/mayan/apps/cabinets/tests/test_wizard_steps.py b/mayan/apps/cabinets/tests/test_wizard_steps.py index d289ca9cbe..f0566bfb06 100644 --- a/mayan/apps/cabinets/tests/test_wizard_steps.py +++ b/mayan/apps/cabinets/tests/test_wizard_steps.py @@ -33,7 +33,7 @@ class CabinetDocumentUploadTestCase(GenericDocumentViewTestCase): WizardStep.reregister_all() def _request_upload_interactive_document_create_view(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: return self.post( viewname='sources:upload_interactive', args=(self.source.pk,), data={ diff --git a/mayan/apps/checkouts/tests/test_api.py b/mayan/apps/checkouts/tests/test_api.py index 2453ab432c..2adac6e3f6 100644 --- a/mayan/apps/checkouts/tests/test_api.py +++ b/mayan/apps/checkouts/tests/test_api.py @@ -8,8 +8,7 @@ from django.utils.timezone import now from rest_framework import status -from documents.models import DocumentType -from documents.tests import TEST_DOCUMENT_TYPE_LABEL, TEST_SMALL_DOCUMENT_PATH +from documents.tests import DocumentTestMixin from documents.permissions import permission_document_view from rest_api.tests import BaseAPITestCase @@ -20,22 +19,10 @@ from ..permissions import ( @override_settings(OCR_AUTO_OCR=False) -class CheckoutsAPITestCase(BaseAPITestCase): +class CheckoutsAPITestCase(DocumentTestMixin, BaseAPITestCase): def setUp(self): super(CheckoutsAPITestCase, self).setUp() self.login_user() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=file_object, - ) - - def tearDown(self): - self.document_type.delete() - super(CheckoutsAPITestCase, self).tearDown() def _request_checkedout_document_view(self): return self.get( diff --git a/mayan/apps/checkouts/tests/test_models.py b/mayan/apps/checkouts/tests/test_models.py index 083cd78a50..9d5ce8efc6 100644 --- a/mayan/apps/checkouts/tests/test_models.py +++ b/mayan/apps/checkouts/tests/test_models.py @@ -8,10 +8,8 @@ from django.test import override_settings from django.utils.timezone import now from common.tests import BaseTestCase -from documents.models import DocumentType -from documents.tests.literals import ( - TEST_DOCUMENT_TYPE_LABEL, TEST_SMALL_DOCUMENT_PATH -) +from documents.tests import DocumentTestMixin +from documents.tests.literals import TEST_SMALL_DOCUMENT_PATH from ..exceptions import ( DocumentAlreadyCheckedOut, DocumentNotCheckedOut, @@ -21,22 +19,7 @@ from ..models import DocumentCheckout, NewVersionBlock @override_settings(OCR_AUTO_OCR=False) -class DocumentCheckoutTestCase(BaseTestCase): - def setUp(self): - super(DocumentCheckoutTestCase, self).setUp() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=file_object - ) - - def tearDown(self): - self.document_type.delete() - super(DocumentCheckoutTestCase, self).tearDown() - +class DocumentCheckoutTestCase(DocumentTestMixin, BaseTestCase): def test_document_checkout(self): expiration_datetime = now() + datetime.timedelta(days=1) @@ -64,7 +47,7 @@ class DocumentCheckoutTestCase(BaseTestCase): ) with self.assertRaises(NewDocumentVersionNotAllowed): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version(file_object=file_object) def test_checkin_in(self): @@ -124,29 +107,12 @@ class DocumentCheckoutTestCase(BaseTestCase): NewVersionBlock.objects.block(document=self.document) with self.assertRaises(NewDocumentVersionNotAllowed): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version(file_object=file_object) @override_settings(OCR_AUTO_OCR=False) -class NewVersionBlockTestCase(BaseTestCase): - def setUp(self): - super(NewVersionBlockTestCase, self).setUp() - - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=file_object - ) - - def tearDown(self): - self.document.delete() - self.document_type.delete() - super(NewVersionBlockTestCase, self).tearDown() - +class NewVersionBlockTestCase(DocumentTestMixin, BaseTestCase): def test_blocking(self): NewVersionBlock.objects.block(document=self.document) diff --git a/mayan/apps/common/tests/literals.py b/mayan/apps/common/tests/literals.py index be5c8e68cd..a02188f6e1 100644 --- a/mayan/apps/common/tests/literals.py +++ b/mayan/apps/common/tests/literals.py @@ -12,7 +12,7 @@ TEST_VIEW_URL = 'test-view-url' TEST_FILENAME1 = 'test_file1.txt' TEST_FILENAME2 = 'test_file2.txt' TEST_FILENAME3 = 'test_file3.txt' -TEST_FILE_CONTENTS_1 = 'TEST FILE 1\n' +TEST_FILE_CONTENTS_1 = b'TEST FILE 1\n' TEST_FILE_CONTENTS_2 = 'TEST FILE 2\n' TEST_TAR_BZ2_FILE = 'test_file.tar.bz2' TEST_TAR_FILE = 'test_file.tar' diff --git a/mayan/apps/common/tests/test_compressed_files.py b/mayan/apps/common/tests/test_compressed_files.py index 5775fecd94..597bd06c42 100644 --- a/mayan/apps/common/tests/test_compressed_files.py +++ b/mayan/apps/common/tests/test_compressed_files.py @@ -23,22 +23,22 @@ class TarArchiveClassTestCase(BaseTestCase): def test_add_file(self): archive = self.cls() archive.create() - with open(self.file_path) as file_object: + with open(self.file_path, 'rb') as file_object: archive.add_file(file_object=file_object, filename=self.filename) self.assertTrue(archive.members(), [self.filename]) def test_open(self): - with open(self.archive_path) as file_object: + with open(self.archive_path, 'rb') as file_object: archive = Archive.open(file_object=file_object) self.assertTrue(isinstance(archive, self.cls)) def test_members(self): - with open(self.archive_path) as file_object: + with open(self.archive_path, 'rb') as file_object: archive = Archive.open(file_object=file_object) self.assertEqual(archive.members(), self.members_list) def test_member_contents(self): - with open(self.archive_path) as file_object: + with open(self.archive_path, 'rb') as file_object: archive = Archive.open(file_object=file_object) self.assertEqual( archive.member_contents(filename=self.member_name), @@ -46,7 +46,7 @@ class TarArchiveClassTestCase(BaseTestCase): ) def test_open_member(self): - with open(self.archive_path) as file_object: + with open(self.archive_path, 'rb') as file_object: archive = Archive.open(file_object=file_object) file_object = archive.open_member(filename=self.member_name) self.assertEqual( diff --git a/mayan/apps/converter/tests/literals.py b/mayan/apps/converter/tests/literals.py index 335c47f76c..fbad176ee9 100644 --- a/mayan/apps/converter/tests/literals.py +++ b/mayan/apps/converter/tests/literals.py @@ -3,13 +3,13 @@ from __future__ import unicode_literals TEST_TRANSFORMATION_NAME = 'rotate' TEST_TRANSFORMATION_ARGUMENT = 'degrees: 180' TEST_TRANSFORMATION_COMBINED_CACHE_HASH = '384bf78014d2aed7255d9e548a0694c70af0b22545653214bcceb1ac6286b5f7' -TEST_TRANSFORMATION_RESIZE_CACHE_HASH = '4aa319f5a6950985a19380a1f279a66769d04138bd1583844270fe8c269260fc' -TEST_TRANSFORMATION_RESIZE_CACHE_HASH_2 = 'cc8d220d40e810b995181c0c69b44b7a61c3bb039c0be96a5465fcaf698ca99a' +TEST_TRANSFORMATION_RESIZE_CACHE_HASH = b'4aa319f5a6950985a19380a1f279a66769d04138bd1583844270fe8c269260fc' +TEST_TRANSFORMATION_RESIZE_CACHE_HASH_2 = b'cc8d220d40e810b995181c0c69b44b7a61c3bb039c0be96a5465fcaf698ca99a' TEST_TRANSFORMATION_RESIZE_HEIGHT = 528 TEST_TRANSFORMATION_RESIZE_HEIGHT_2 = 529 TEST_TRANSFORMATION_RESIZE_WIDTH = 123 TEST_TRANSFORMATION_RESIZE_WIDTH_2 = 124 -TEST_TRANSFORMATION_ROTATE_CACHE_HASH = 'df6a5854fccdd3a56145fcd7f7bf52bdf95fe940d6611d435e80dfcaca3b61ac' +TEST_TRANSFORMATION_ROTATE_CACHE_HASH = b'df6a5854fccdd3a56145fcd7f7bf52bdf95fe940d6611d435e80dfcaca3b61ac' TEST_TRANSFORMATION_ROTATE_DEGRESS = 34 -TEST_TRANSFORMATION_ZOOM_CACHE_HASH = 'ac7a864de6a95889d5892301e142f8cdc5808f55010c0b820ed056902fc25a73' +TEST_TRANSFORMATION_ZOOM_CACHE_HASH = b'ac7a864de6a95889d5892301e142f8cdc5808f55010c0b820ed056902fc25a73' TEST_TRANSFORMATION_ZOOM_PERCENT = 49 diff --git a/mayan/apps/django_gpg/tests/literals.py b/mayan/apps/django_gpg/tests/literals.py index 6e3a31a5f9..3bcbe01ab3 100644 --- a/mayan/apps/django_gpg/tests/literals.py +++ b/mayan/apps/django_gpg/tests/literals.py @@ -87,7 +87,7 @@ TEST_SIGNED_FILE = os.path.join( settings.BASE_DIR, 'apps', 'django_gpg', 'tests', 'contrib', 'test_files', 'test_file.txt.gpg' ) -TEST_SIGNED_FILE_CONTENT = 'test_file.txt\n' +TEST_SIGNED_FILE_CONTENT = b'test_file.txt\n' TEST_RECEIVE_KEY = '''-----BEGIN PGP PUBLIC KEY BLOCK----- Version: SKS 1.1.5 diff --git a/mayan/apps/django_gpg/tests/test_models.py b/mayan/apps/django_gpg/tests/test_models.py index f98781ddf5..80718550df 100644 --- a/mayan/apps/django_gpg/tests/test_models.py +++ b/mayan/apps/django_gpg/tests/test_models.py @@ -1,10 +1,12 @@ from __future__ import unicode_literals -import StringIO +import io import gnupg import mock +from django.utils.encoding import force_bytes + from common.tests import BaseTestCase from common.utils import TemporaryFile @@ -75,7 +77,7 @@ class KeyTestCase(BaseTestCase): def test_cleartext_file_verification(self): cleartext_file = TemporaryFile() - cleartext_file.write('test') + cleartext_file.write(b'test') cleartext_file.seek(0) with self.assertRaises(VerificationError): @@ -84,7 +86,7 @@ class KeyTestCase(BaseTestCase): cleartext_file.close() def test_embedded_verification_no_key(self): - with open(TEST_SIGNED_FILE) as signed_file: + with open(TEST_SIGNED_FILE, 'rb') as signed_file: result = Key.objects.verify_file(signed_file) self.assertTrue(result.key_id in TEST_KEY_FINGERPRINT) @@ -92,7 +94,7 @@ class KeyTestCase(BaseTestCase): def test_embedded_verification_with_key(self): Key.objects.create(key_data=TEST_KEY_DATA) - with open(TEST_SIGNED_FILE) as signed_file: + with open(TEST_SIGNED_FILE, 'rb') as signed_file: result = Key.objects.verify_file(signed_file) self.assertEqual(result.fingerprint, TEST_KEY_FINGERPRINT) @@ -100,7 +102,7 @@ class KeyTestCase(BaseTestCase): def test_embedded_verification_with_correct_fingerprint(self): Key.objects.create(key_data=TEST_KEY_DATA) - with open(TEST_SIGNED_FILE) as signed_file: + with open(TEST_SIGNED_FILE, 'rb') as signed_file: result = Key.objects.verify_file( signed_file, key_fingerprint=TEST_KEY_FINGERPRINT ) @@ -111,21 +113,21 @@ class KeyTestCase(BaseTestCase): def test_embedded_verification_with_incorrect_fingerprint(self): Key.objects.create(key_data=TEST_KEY_DATA) - with open(TEST_SIGNED_FILE) as signed_file: + with open(TEST_SIGNED_FILE, 'rb') as signed_file: with self.assertRaises(KeyDoesNotExist): Key.objects.verify_file(signed_file, key_fingerprint='999') def test_signed_file_decryption(self): Key.objects.create(key_data=TEST_KEY_DATA) - with open(TEST_SIGNED_FILE) as signed_file: + with open(TEST_SIGNED_FILE, 'rb') as signed_file: result = Key.objects.decrypt_file(file_object=signed_file) self.assertEqual(result.read(), TEST_SIGNED_FILE_CONTENT) def test_cleartext_file_decryption(self): cleartext_file = TemporaryFile() - cleartext_file.write('test') + cleartext_file.write(b'test') cleartext_file.seek(0) with self.assertRaises(DecryptionError): @@ -134,8 +136,8 @@ class KeyTestCase(BaseTestCase): cleartext_file.close() def test_detached_verification_no_key(self): - with open(TEST_DETACHED_SIGNATURE) as signature_file: - with open(TEST_FILE) as test_file: + with open(TEST_DETACHED_SIGNATURE, 'rb') as signature_file: + with open(TEST_FILE, 'rb') as test_file: result = Key.objects.verify_file( file_object=test_file, signature_file=signature_file ) @@ -145,8 +147,8 @@ class KeyTestCase(BaseTestCase): def test_detached_verification_with_key(self): Key.objects.create(key_data=TEST_KEY_DATA) - with open(TEST_DETACHED_SIGNATURE) as signature_file: - with open(TEST_FILE) as test_file: + with open(TEST_DETACHED_SIGNATURE, 'rb') as signature_file: + with open(TEST_FILE, 'rb') as test_file: result = Key.objects.verify_file( file_object=test_file, signature_file=signature_file ) @@ -158,7 +160,7 @@ class KeyTestCase(BaseTestCase): key = Key.objects.create(key_data=TEST_KEY_DATA) with self.assertRaises(NeedPassphrase): - with open(TEST_FILE) as test_file: + with open(TEST_FILE, 'rb') as test_file: key.sign_file( file_object=test_file, detached=True, ) @@ -167,7 +169,7 @@ class KeyTestCase(BaseTestCase): key = Key.objects.create(key_data=TEST_KEY_DATA) with self.assertRaises(PassphraseError): - with open(TEST_FILE) as test_file: + with open(TEST_FILE, 'rb') as test_file: key.sign_file( file_object=test_file, detached=True, passphrase='bad passphrase' @@ -176,17 +178,17 @@ class KeyTestCase(BaseTestCase): def test_detached_signing_with_passphrase(self): key = Key.objects.create(key_data=TEST_KEY_DATA) - with open(TEST_FILE) as test_file: + with open(TEST_FILE, 'rb') as test_file: detached_signature = key.sign_file( file_object=test_file, detached=True, passphrase=TEST_KEY_PASSPHRASE ) - signature_file = StringIO.StringIO() - signature_file.write(detached_signature) + signature_file = io.BytesIO() + signature_file.write(force_bytes(detached_signature)) signature_file.seek(0) - with open(TEST_FILE) as test_file: + with open(TEST_FILE, 'rb') as test_file: result = Key.objects.verify_file( file_object=test_file, signature_file=signature_file ) diff --git a/mayan/apps/document_comments/tests/test_api.py b/mayan/apps/document_comments/tests/test_api.py index 3bb499661a..96f44d93e5 100644 --- a/mayan/apps/document_comments/tests/test_api.py +++ b/mayan/apps/document_comments/tests/test_api.py @@ -4,10 +4,7 @@ from django.test import override_settings from rest_framework import status -from documents.models import DocumentType -from documents.tests.literals import ( - TEST_DOCUMENT_TYPE_LABEL, TEST_SMALL_DOCUMENT_PATH -) +from documents.tests import DocumentTestMixin from rest_api.tests import BaseAPITestCase from ..models import Comment @@ -20,23 +17,10 @@ from .literals import TEST_COMMENT_TEXT @override_settings(OCR_AUTO_OCR=False) -class CommentAPITestCase(BaseAPITestCase): +class CommentAPITestCase(DocumentTestMixin, BaseAPITestCase): def setUp(self): super(CommentAPITestCase, self).setUp() self.login_user() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=file_object - ) - - def tearDown(self): - if hasattr(self, 'document_type'): - self.document_type.delete() - super(CommentAPITestCase, self).tearDown() def _create_comment(self): return self.document.comments.create( diff --git a/mayan/apps/document_indexing/tests/test_models.py b/mayan/apps/document_indexing/tests/test_models.py index ceb7e47862..77a229eba3 100644 --- a/mayan/apps/document_indexing/tests/test_models.py +++ b/mayan/apps/document_indexing/tests/test_models.py @@ -4,8 +4,7 @@ from django.test import override_settings from django.utils.encoding import force_text from common.tests import BaseTestCase -from documents.models import DocumentType -from documents.tests import TEST_SMALL_DOCUMENT_PATH, TEST_DOCUMENT_TYPE_LABEL +from documents.tests import DocumentTestMixin, TEST_SMALL_DOCUMENT_PATH from metadata.models import MetadataType, DocumentTypeMetadataType from ..models import Index, IndexInstanceNode, IndexTemplateNode @@ -17,21 +16,9 @@ from .literals import ( @override_settings(OCR_AUTO_OCR=False) -class IndexTestCase(BaseTestCase): +class IndexTestCase(DocumentTestMixin, BaseTestCase): def setUp(self): super(IndexTestCase, self).setUp() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=file_object - ) - - def tearDown(self): - self.document_type.delete() - super(IndexTestCase, self).tearDown() def test_indexing(self): metadata_type = MetadataType.objects.create( @@ -177,7 +164,7 @@ class IndexTestCase(BaseTestCase): values and two second levels with the same value but as separate children of each of the first levels. GitLab issue #391 """ - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document_2 = self.document_type.new_document( file_object=file_object ) diff --git a/mayan/apps/document_signatures/managers.py b/mayan/apps/document_signatures/managers.py index fda67ef108..050eaf8f20 100644 --- a/mayan/apps/document_signatures/managers.py +++ b/mayan/apps/document_signatures/managers.py @@ -40,7 +40,7 @@ class EmbeddedSignatureManager(models.Manager): except Exception: raise else: - with open(temporary_filename) as file_object: + with open(temporary_filename, 'rb') as file_object: new_version = document_version.document.new_version( file_object=file_object, _user=user ) diff --git a/mayan/apps/document_signatures/tests/test_links.py b/mayan/apps/document_signatures/tests/test_links.py index 05edd7540c..e7b4802dd8 100644 --- a/mayan/apps/document_signatures/tests/test_links.py +++ b/mayan/apps/document_signatures/tests/test_links.py @@ -25,7 +25,7 @@ class DocumentSignatureLinksTestCase(GenericDocumentViewTestCase): self.login_user() def test_document_version_signature_detail_link_no_permission(self): - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) @@ -41,7 +41,7 @@ class DocumentSignatureLinksTestCase(GenericDocumentViewTestCase): self.assertEqual(resolved_link, None) def test_document_version_signature_detail_link_with_permission(self): - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) @@ -68,12 +68,12 @@ class DocumentSignatureLinksTestCase(GenericDocumentViewTestCase): ) def test_document_version_signature_delete_link_no_permission(self): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -90,12 +90,12 @@ class DocumentSignatureLinksTestCase(GenericDocumentViewTestCase): self.assertEqual(resolved_link, None) def test_document_version_signature_delete_link_with_permission(self): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) diff --git a/mayan/apps/document_signatures/tests/test_models.py b/mayan/apps/document_signatures/tests/test_models.py index a17607a786..5f22cb486c 100644 --- a/mayan/apps/document_signatures/tests/test_models.py +++ b/mayan/apps/document_signatures/tests/test_models.py @@ -35,7 +35,7 @@ class DocumentSignaturesTestCase(BaseTestCase): super(DocumentSignaturesTestCase, self).tearDown() def test_embedded_signature_no_key(self): - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: signed_document = self.document_type.new_document( file_object=file_object ) @@ -51,7 +51,7 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(signature.signature_id, None) def test_embedded_signature_post_key_verify(self): - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: signed_document = self.document_type.new_document( file_object=file_object ) @@ -66,7 +66,7 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(signature.key_id, TEST_KEY_ID) self.assertEqual(signature.signature_id, None) - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: Key.objects.create(key_data=file_object.read()) signature = EmbeddedSignature.objects.first() @@ -74,10 +74,10 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(signature.signature_id, TEST_SIGNATURE_ID) def test_embedded_signature_post_no_key_verify(self): - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: key = Key.objects.create(key_data=file_object.read()) - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: signed_document = self.document_type.new_document( file_object=file_object ) @@ -99,10 +99,10 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(signature.signature_id, None) def test_embedded_signature_with_key(self): - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: key = Key.objects.create(key_data=file_object.read()) - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: self.signed_document = self.document_type.new_document( file_object=file_object ) @@ -120,12 +120,12 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(signature.signature_id, TEST_SIGNATURE_ID) def test_detached_signature_no_key(self): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -140,15 +140,15 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(signature.public_key_fingerprint, None) def test_detached_signature_with_key(self): - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: key = Key.objects.create(key_data=file_object.read()) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -163,12 +163,12 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(signature.public_key_fingerprint, key.fingerprint) def test_detached_signature_post_key_verify(self): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -182,7 +182,7 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(signature.key_id, TEST_KEY_ID) self.assertEqual(signature.public_key_fingerprint, None) - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: key = Key.objects.create(key_data=file_object.read()) signature = DetachedSignature.objects.first() @@ -190,15 +190,15 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(signature.public_key_fingerprint, key.fingerprint) def test_detached_signature_post_no_key_verify(self): - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: key = Key.objects.create(key_data=file_object.read()) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -219,7 +219,7 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(signature.public_key_fingerprint, None) def test_document_no_signature(self): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: self.document_type.new_document( file_object=file_object ) @@ -227,12 +227,12 @@ class DocumentSignaturesTestCase(BaseTestCase): self.assertEqual(EmbeddedSignature.objects.count(), 0) def test_new_signed_version(self): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: signed_version = document.new_version( file_object=file_object, comment='test comment 1' ) @@ -268,13 +268,13 @@ class EmbeddedSignaturesTestCase(BaseTestCase): TEST_SIGNED_DOCUMENT_COUNT = 2 for count in range(TEST_UNSIGNED_DOCUMENT_COUNT): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: self.document_type.new_document( file_object=file_object ) for count in range(TEST_SIGNED_DOCUMENT_COUNT): - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: self.document_type.new_document( file_object=file_object ) @@ -296,13 +296,13 @@ class EmbeddedSignaturesTestCase(BaseTestCase): TEST_SIGNED_DOCUMENT_COUNT = 2 for count in range(TEST_UNSIGNED_DOCUMENT_COUNT): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: self.document_type.new_document( file_object=file_object ) for count in range(TEST_SIGNED_DOCUMENT_COUNT): - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: self.document_type.new_document( file_object=file_object ) @@ -324,7 +324,7 @@ class EmbeddedSignaturesTestCase(BaseTestCase): def test_signing(self): key = Key.objects.create(key_data=TEST_KEY_DATA) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) diff --git a/mayan/apps/document_signatures/tests/test_views.py b/mayan/apps/document_signatures/tests/test_views.py index 0f10b1a44e..1d31d31e2a 100644 --- a/mayan/apps/document_signatures/tests/test_views.py +++ b/mayan/apps/document_signatures/tests/test_views.py @@ -31,15 +31,15 @@ TEST_SIGNED_DOCUMENT_COUNT = 2 class SignaturesViewTestCase(GenericDocumentViewTestCase): def test_signature_list_view_no_permission(self): - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: Key.objects.create(key_data=file_object.read()) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -55,15 +55,15 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): self.assertEqual(response.status_code, 403) def test_signature_list_view_with_access(self): - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: Key.objects.create(key_data=file_object.read()) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -85,15 +85,15 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): self.assertEqual(response.context['object_list'].count(), 1) def test_signature_detail_view_no_permission(self): - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: Key.objects.create(key_data=file_object.read()) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: signature = DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -109,15 +109,15 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): self.assertEqual(response.status_code, 403) def test_signature_detail_view_with_access(self): - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: Key.objects.create(key_data=file_object.read()) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: signature = DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -138,14 +138,14 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): self.assertContains(response, signature.signature_id, status_code=200) def test_signature_upload_view_no_permission(self): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) self.login_user() - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: response = self.post( 'signatures:document_version_signature_upload', args=(document.latest_version.pk,), @@ -156,7 +156,7 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): self.assertEqual(DetachedSignature.objects.count(), 0) def test_signature_upload_view_with_access(self): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) @@ -168,7 +168,7 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): permission=permission_document_version_signature_upload ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: response = self.post( 'signatures:document_version_signature_upload', args=(document.latest_version.pk,), @@ -179,12 +179,12 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): self.assertEqual(DetachedSignature.objects.count(), 1) def test_signature_download_view_no_permission(self): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: signature = DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -200,12 +200,12 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): self.assertEqual(response.status_code, 403) def test_signature_download_view_with_access(self): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: signature = DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -231,15 +231,15 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): ) def test_signature_delete_view_no_permission(self): - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: Key.objects.create(key_data=file_object.read()) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: signature = DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -261,15 +261,15 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): self.assertEqual(DetachedSignature.objects.count(), 1) def test_signature_delete_view_with_access(self): - with open(TEST_KEY_FILE) as file_object: + with open(TEST_KEY_FILE, 'rb') as file_object: Key.objects.create(key_data=file_object.read()) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object ) - with open(TEST_SIGNATURE_FILE_PATH) as file_object: + with open(TEST_SIGNATURE_FILE_PATH, 'rb') as file_object: signature = DetachedSignature.objects.create( document_version=document.latest_version, signature_file=File(file_object) @@ -304,13 +304,13 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): old_hooks = DocumentVersion._post_save_hooks DocumentVersion._post_save_hooks = {} for count in range(TEST_UNSIGNED_DOCUMENT_COUNT): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: self.document_type.new_document( file_object=file_object ) for count in range(TEST_SIGNED_DOCUMENT_COUNT): - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: self.document_type.new_document( file_object=file_object ) @@ -345,13 +345,13 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): old_hooks = DocumentVersion._post_save_hooks DocumentVersion._post_save_hooks = {} for count in range(TEST_UNSIGNED_DOCUMENT_COUNT): - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: self.document_type.new_document( file_object=file_object ) for count in range(TEST_SIGNED_DOCUMENT_COUNT): - with open(TEST_SIGNED_DOCUMENT_PATH) as file_object: + with open(TEST_SIGNED_DOCUMENT_PATH, 'rb') as file_object: self.document_type.new_document( file_object=file_object ) diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index be3de75497..1720ce5c21 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -38,7 +38,7 @@ class WorkflowAPITestCase(BaseAPITestCase): label=TEST_DOCUMENT_TYPE_LABEL ) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document = self.document_type.new_document( file_object=file_object ) @@ -372,7 +372,7 @@ class WorkflowStatesAPITestCase(BaseAPITestCase): label=TEST_DOCUMENT_TYPE_LABEL ) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document = self.document_type.new_document( file_object=file_object ) @@ -548,7 +548,7 @@ class WorkflowTransitionsAPITestCase(BaseAPITestCase): label=TEST_DOCUMENT_TYPE_LABEL ) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document = self.document_type.new_document( file_object=file_object ) @@ -790,7 +790,7 @@ class DocumentWorkflowsAPITestCase(BaseAPITestCase): super(DocumentWorkflowsAPITestCase, self).tearDown() def _create_document(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document = self.document_type.new_document( file_object=file_object ) diff --git a/mayan/apps/document_states/tests/test_models.py b/mayan/apps/document_states/tests/test_models.py index 0e1d1ff1fc..21c0a97fb0 100644 --- a/mayan/apps/document_states/tests/test_models.py +++ b/mayan/apps/document_states/tests/test_models.py @@ -30,7 +30,7 @@ class DocumentStateIndexingTestCase(BaseTestCase): ) def _create_document(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document = self.document_type.new_document( file_object=file_object ) diff --git a/mayan/apps/document_states/tests/test_views.py b/mayan/apps/document_states/tests/test_views.py index 211561b9a6..1cd37e4d31 100644 --- a/mayan/apps/document_states/tests/test_views.py +++ b/mayan/apps/document_states/tests/test_views.py @@ -342,7 +342,7 @@ class DocumentStateTransitionViewTestCase(GenericDocumentViewTestCase): ) def _create_document(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document_2 = self.document_type.new_document( file_object=file_object ) diff --git a/mayan/apps/documents/tests/literals.py b/mayan/apps/documents/tests/literals.py index 35415d453e..743968ab5e 100644 --- a/mayan/apps/documents/tests/literals.py +++ b/mayan/apps/documents/tests/literals.py @@ -42,6 +42,8 @@ TEST_PDF_INDIRECT_ROTATE_LABEL = 'indirect_rotate.pdf' TEST_SMALL_DOCUMENT_FILENAME = 'title_page.png' TEST_SMALL_DOCUMENT_CHECKSUM = 'efa10e6cc21f83078aaa94d5cbe51de67b51af706143b\ afc7fd6d4c02124879a' +TEST_SMALL_DOCUMENT_MIMETYPE = 'image/png' +TEST_SMALL_DOCUMENT_SIZE = 17436 TEST_TRANSFORMATION_NAME = 'rotate' TEST_TRANSFORMATION_ARGUMENT = 'degrees: 180' diff --git a/mayan/apps/documents/tests/mixins.py b/mayan/apps/documents/tests/mixins.py index c334780738..b0ec28b969 100644 --- a/mayan/apps/documents/tests/mixins.py +++ b/mayan/apps/documents/tests/mixins.py @@ -25,7 +25,7 @@ class DocumentTestMixin(object): ) def upload_document(self): - with open(self.test_document_path) as file_object: + with open(self.test_document_path, 'rb') as file_object: document = self.document_type.new_document( file_object=file_object, label=self.test_document_filename ) diff --git a/mayan/apps/documents/tests/test_api.py b/mayan/apps/documents/tests/test_api.py index 2242fb7ba1..7af037d646 100644 --- a/mayan/apps/documents/tests/test_api.py +++ b/mayan/apps/documents/tests/test_api.py @@ -12,12 +12,6 @@ from rest_framework import status from rest_api.tests import BaseAPITestCase -from .literals import ( - TEST_DOCUMENT_DESCRIPTION_EDITED, TEST_DOCUMENT_FILENAME, - TEST_DOCUMENT_PATH, TEST_DOCUMENT_TYPE_LABEL, - TEST_DOCUMENT_TYPE_LABEL_EDITED, TEST_DOCUMENT_VERSION_COMMENT_EDITED, - TEST_SMALL_DOCUMENT_FILENAME, TEST_SMALL_DOCUMENT_PATH -) from ..models import Document, DocumentType from ..permissions import ( permission_document_create, permission_document_download, @@ -29,6 +23,14 @@ from ..permissions import ( permission_document_version_revert, permission_document_version_view ) +from .literals import ( + TEST_DOCUMENT_DESCRIPTION_EDITED, TEST_DOCUMENT_FILENAME, + TEST_DOCUMENT_PATH, TEST_DOCUMENT_TYPE_LABEL, + TEST_DOCUMENT_TYPE_LABEL_EDITED, TEST_DOCUMENT_VERSION_COMMENT_EDITED, + TEST_SMALL_DOCUMENT_FILENAME, TEST_SMALL_DOCUMENT_PATH +) +from .mixins import DocumentTestMixin + class DocumentTypeAPITestCase(BaseAPITestCase): def setUp(self): @@ -145,28 +147,15 @@ class DocumentTypeAPITestCase(BaseAPITestCase): @override_settings(OCR_AUTO_OCR=False) -class DocumentAPITestCase(BaseAPITestCase): +class DocumentAPITestCase(DocumentTestMixin, BaseAPITestCase): + auto_upload_document = False + def setUp(self): super(DocumentAPITestCase, self).setUp() self.login_user() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - def tearDown(self): - self.document_type.delete() - super(DocumentAPITestCase, self).tearDown() - - def _create_document(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=file_object, - label=TEST_SMALL_DOCUMENT_FILENAME - ) - def _request_document_upload(self): - with open(TEST_DOCUMENT_PATH) as file_descriptor: + with open(TEST_DOCUMENT_PATH, 'rb') as file_descriptor: return self.post( viewname='rest_api:document-list', data={ 'document_type': self.document_type.pk, @@ -219,7 +208,7 @@ class DocumentAPITestCase(BaseAPITestCase): # is the latest. time.sleep(1) - with open(TEST_DOCUMENT_PATH) as file_descriptor: + with open(TEST_DOCUMENT_PATH, 'rb') as file_descriptor: return self.post( viewname='rest_api:document-version-list', args=( self.document.pk, @@ -229,12 +218,12 @@ class DocumentAPITestCase(BaseAPITestCase): ) def test_document_new_version_upload_no_permission(self): - self._create_document() + self.document = self.upload_document() response = self._request_document_new_version_upload() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_new_version_upload_with_access(self): - self._create_document() + self.document = self.upload_document() self.grant_access( permission=permission_document_new_version, obj=self.document ) @@ -256,7 +245,7 @@ class DocumentAPITestCase(BaseAPITestCase): # Needed by MySQL as milliseconds value is not store in timestamp field time.sleep(1) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version(file_object=file_object) def _request_document_version_revert(self): @@ -267,13 +256,13 @@ class DocumentAPITestCase(BaseAPITestCase): ) def test_document_version_revert_no_permission(self): - self._create_document() + self.document = self.upload_document() self._create_new_version() response = self._request_document_version_revert() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_version_revert_with_access(self): - self._create_document() + self.document = self.upload_document() self._create_new_version() self.grant_access( permission=permission_document_version_revert, obj=self.document @@ -292,14 +281,14 @@ class DocumentAPITestCase(BaseAPITestCase): ) def test_document_version_list_no_permission(self): - self._create_document() + self.document = self.upload_document() self._create_new_version() response = self._request_document_version_list() self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['count'], 0) def test_document_version_list_with_access(self): - self._create_document() + self.document = self.upload_document() self._create_new_version() self.grant_access( permission=permission_document_version_view, obj=self.document @@ -317,12 +306,12 @@ class DocumentAPITestCase(BaseAPITestCase): ) def test_document_download_no_permission(self): - self._create_document() + self.document = self.upload_document() response = self._request_document_download() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_download_with_access(self): - self._create_document() + self.document = self.upload_document() self.grant_access( permission=permission_document_download, obj=self.document ) @@ -346,12 +335,12 @@ class DocumentAPITestCase(BaseAPITestCase): ) def test_document_version_download_no_permission(self): - self._create_document() + self.document = self.upload_document() response = self._request_document_version_download() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_version_download_with_access(self): - self._create_document() + self.document = self.upload_document() self.grant_access( permission=permission_document_download, obj=self.document ) @@ -369,7 +358,7 @@ class DocumentAPITestCase(BaseAPITestCase): def test_document_version_download_preserve_extension(self): self.login_admin_user() - self._create_document() + self.document = self.upload_document() response = self.get( viewname='rest_api:documentversion-download', args=( @@ -395,12 +384,12 @@ class DocumentAPITestCase(BaseAPITestCase): ) def test_document_version_edit_via_patch_no_permission(self): - self._create_document() + self.document = self.upload_document() response = self._request_document_version_edit_via_patch() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_version_edit_via_patch_with_access(self): - self._create_document() + self.document = self.upload_document() self.grant_access( permission=permission_document_edit, obj=self.document ) @@ -421,12 +410,12 @@ class DocumentAPITestCase(BaseAPITestCase): ) def test_document_version_edit_via_put_no_permission(self): - self._create_document() + self.document = self.upload_document() response = self._request_document_version_edit_via_put() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_version_edit_via_put_with_access(self): - self._create_document() + self.document = self.upload_document() self.grant_access( permission=permission_document_edit, obj=self.document ) @@ -446,12 +435,12 @@ class DocumentAPITestCase(BaseAPITestCase): ) def test_document_description_edit_via_patch_no_permission(self): - self._create_document() + self.document = self.upload_document() response = self._request_document_description_edit_via_patch() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_description_edit_via_patch_with_access(self): - self._create_document() + self.document = self.upload_document() self.grant_access( permission=permission_document_properties_edit, obj=self.document ) @@ -470,12 +459,12 @@ class DocumentAPITestCase(BaseAPITestCase): ) def test_document_description_edit_via_put_no_permission(self): - self._create_document() + self.document = self.upload_document() response = self._request_document_description_edit_via_put() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_description_edit_via_put_with_access(self): - self._create_document() + self.document = self.upload_document() self.grant_access( permission=permission_document_properties_edit, obj=self.document ) @@ -489,26 +478,11 @@ class DocumentAPITestCase(BaseAPITestCase): @override_settings(OCR_AUTO_OCR=False) -class DocumentPageAPITestCase(BaseAPITestCase): +class DocumentPageAPITestCase(DocumentTestMixin, BaseAPITestCase): def setUp(self): super(DocumentPageAPITestCase, self).setUp() self.login_user() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - def tearDown(self): - self.document_type.delete() - super(DocumentPageAPITestCase, self).tearDown() - - def _create_document(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=file_object, - label=TEST_SMALL_DOCUMENT_FILENAME - ) - def _request_document_page_image(self): page = self.document.pages.first() return self.get( @@ -518,12 +492,10 @@ class DocumentPageAPITestCase(BaseAPITestCase): ) def test_document_page_image_view_no_access(self): - self._create_document() response = self._request_document_page_image() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_page_image_view_with_access(self): - self._create_document() self.grant_access( permission=permission_document_view, obj=self.document ) @@ -532,36 +504,25 @@ class DocumentPageAPITestCase(BaseAPITestCase): @override_settings(OCR_AUTO_OCR=False) -class TrashedDocumentAPITestCase(BaseAPITestCase): +class TrashedDocumentAPITestCase(DocumentTestMixin, BaseAPITestCase): + auto_upload_document = False + def setUp(self): super(TrashedDocumentAPITestCase, self).setUp() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) self.login_user() - def tearDown(self): - self.document_type.delete() - super(TrashedDocumentAPITestCase, self).tearDown() - - def _create_document(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=file_object, - ) - def _request_document_move_to_trash(self): return self.delete( viewname='rest_api:document-detail', args=(self.document.pk,) ) def test_document_move_to_trash_no_permission(self): - self._create_document() + self.document = self.upload_document() response = self._request_document_move_to_trash() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_move_to_trash_with_access(self): - self._create_document() + self.document = self.upload_document() self.grant_access( permission=permission_document_trash, obj=self.document ) @@ -577,7 +538,7 @@ class TrashedDocumentAPITestCase(BaseAPITestCase): ) def test_trashed_document_delete_from_trash_no_access(self): - self._create_document() + self.document = self.upload_document() self.document.delete() response = self._request_trashed_document_delete_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) @@ -585,7 +546,7 @@ class TrashedDocumentAPITestCase(BaseAPITestCase): self.assertEqual(Document.trash.count(), 1) def test_trashed_document_delete_from_trash_with_access(self): - self._create_document() + self.document = self.upload_document() self.document.delete() self.grant_access(permission=permission_document_delete, obj=self.document) response = self._request_trashed_document_delete_view() @@ -599,14 +560,14 @@ class TrashedDocumentAPITestCase(BaseAPITestCase): ) def test_trashed_document_detail_view_no_access(self): - self._create_document() + self.document = self.upload_document() self.document.delete() response = self._request_trashed_document_detail_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) self.assertFalse('uuid' in response.data) def test_trashed_document_detail_view_with_access(self): - self._create_document() + self.document = self.upload_document() self.document.delete() self.grant_access(permission=permission_document_view, obj=self.document) response = self._request_trashed_document_detail_view() @@ -619,14 +580,14 @@ class TrashedDocumentAPITestCase(BaseAPITestCase): ) def test_trashed_document_list_view_no_access(self): - self._create_document() + self.document = self.upload_document() self.document.delete() response = self._request_trashed_document_list_view() self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['count'], 0) def test_trashed_document_list_view_with_access(self): - self._create_document() + self.document = self.upload_document() self.document.delete() self.grant_access( permission=permission_document_view, obj=self.document @@ -643,7 +604,7 @@ class TrashedDocumentAPITestCase(BaseAPITestCase): ) def test_trashed_document_restore_no_access(self): - self._create_document() + self.document = self.upload_document() self.document.delete() response = self._request_trashed_document_restore_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) @@ -651,7 +612,7 @@ class TrashedDocumentAPITestCase(BaseAPITestCase): self.assertEqual(Document.objects.count(), 0) def test_trashed_document_restore_with_access(self): - self._create_document() + self.document = self.upload_document() self.document.delete() self.grant_access(permission=permission_document_restore, obj=self.document) response = self._request_trashed_document_restore_view() diff --git a/mayan/apps/documents/tests/test_document_version_views.py b/mayan/apps/documents/tests/test_document_version_views.py index 6354c31930..30eda8de5b 100644 --- a/mayan/apps/documents/tests/test_document_version_views.py +++ b/mayan/apps/documents/tests/test_document_version_views.py @@ -18,7 +18,7 @@ class DocumentVersionTestCase(GenericDocumentViewTestCase): self.login_user() def test_document_version_list_no_permission(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version( comment=TEST_VERSION_COMMENT, file_object=file_object ) @@ -34,7 +34,7 @@ class DocumentVersionTestCase(GenericDocumentViewTestCase): obj=self.document, permission=permission_document_version_view ) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version( comment=TEST_VERSION_COMMENT, file_object=file_object ) @@ -48,7 +48,7 @@ class DocumentVersionTestCase(GenericDocumentViewTestCase): def test_document_version_revert_no_permission(self): first_version = self.document.latest_version - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version( file_object=file_object ) @@ -63,7 +63,7 @@ class DocumentVersionTestCase(GenericDocumentViewTestCase): def test_document_version_revert_with_access(self): first_version = self.document.latest_version - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version( file_object=file_object ) diff --git a/mayan/apps/documents/tests/test_duplicated_document_views.py b/mayan/apps/documents/tests/test_duplicated_document_views.py index c1fc7a46ac..c71c44517b 100644 --- a/mayan/apps/documents/tests/test_duplicated_document_views.py +++ b/mayan/apps/documents/tests/test_duplicated_document_views.py @@ -16,7 +16,7 @@ class DuplicatedDocumentsViewsTestCase(GenericDocumentViewTestCase): self.login_user() def _upload_duplicate_document(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document_duplicate = self.document_type.new_document( file_object=file_object, label=TEST_SMALL_DOCUMENT_FILENAME ) diff --git a/mayan/apps/documents/tests/test_links.py b/mayan/apps/documents/tests/test_links.py index b59b35c033..1e67404d62 100644 --- a/mayan/apps/documents/tests/test_links.py +++ b/mayan/apps/documents/tests/test_links.py @@ -23,7 +23,7 @@ from .literals import TEST_SMALL_DOCUMENT_PATH class DocumentsLinksTestCase(GenericDocumentViewTestCase): def test_document_version_revert_link_no_permission(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version(file_object=file_object) self.assertTrue(self.document.versions.count(), 2) @@ -41,7 +41,7 @@ class DocumentsLinksTestCase(GenericDocumentViewTestCase): # field time.sleep(2) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version(file_object=file_object) self.assertTrue(self.document.versions.count(), 2) diff --git a/mayan/apps/documents/tests/test_models.py b/mayan/apps/documents/tests/test_models.py index 59816015c3..c008f6fc62 100644 --- a/mayan/apps/documents/tests/test_models.py +++ b/mayan/apps/documents/tests/test_models.py @@ -16,48 +16,36 @@ from .base import GenericDocumentTestCase from .literals import ( TEST_DOCUMENT_TYPE_LABEL, TEST_DOCUMENT_PATH, TEST_MULTI_PAGE_TIFF_PATH, TEST_PDF_INDIRECT_ROTATE_PATH, TEST_OFFICE_DOCUMENT_PATH, - TEST_SMALL_DOCUMENT_PATH + TEST_SMALL_DOCUMENT_CHECKSUM, TEST_SMALL_DOCUMENT_FILENAME, + TEST_SMALL_DOCUMENT_MIMETYPE, TEST_SMALL_DOCUMENT_PATH, + TEST_SMALL_DOCUMENT_SIZE ) +from .mixins import DocumentTestMixin @override_settings(OCR_AUTO_OCR=False) -class DocumentTestCase(BaseTestCase): - def setUp(self): - super(DocumentTestCase, self).setUp() - - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - with open(TEST_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=file_object, label='mayan_11_1.pdf' - ) - - def tearDown(self): - self.document_type.delete() - super(DocumentTestCase, self).tearDown() - +class DocumentTestCase(DocumentTestMixin, BaseTestCase): def test_document_creation(self): self.assertEqual(self.document_type.label, TEST_DOCUMENT_TYPE_LABEL) self.assertEqual(self.document.exists(), True) - self.assertEqual(self.document.size, 272213) + self.assertEqual(self.document.size, TEST_SMALL_DOCUMENT_SIZE) - self.assertEqual(self.document.file_mimetype, 'application/pdf') - self.assertEqual(self.document.file_mime_encoding, 'binary') - self.assertEqual(self.document.label, 'mayan_11_1.pdf') self.assertEqual( - self.document.checksum, - 'c637ffab6b8bb026ed3784afdb07663fddc60099853fae2be93890852a69ecf3' + self.document.file_mimetype, TEST_SMALL_DOCUMENT_MIMETYPE ) - self.assertEqual(self.document.page_count, 47) + self.assertEqual(self.document.file_mime_encoding, 'binary') + self.assertEqual(self.document.label, TEST_SMALL_DOCUMENT_FILENAME) + self.assertEqual( + self.document.checksum, TEST_SMALL_DOCUMENT_CHECKSUM + ) + self.assertEqual(self.document.page_count, 1) def test_version_creation(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version(file_object=file_object) - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version( file_object=file_object, comment='test comment 1' ) @@ -147,7 +135,7 @@ class PDFCompatibilityTestCase(BaseTestCase): label=TEST_DOCUMENT_TYPE_LABEL ) - with open(TEST_PDF_INDIRECT_ROTATE_PATH) as file_object: + with open(TEST_PDF_INDIRECT_ROTATE_PATH, 'rb') as file_object: self.document = self.document_type.new_document( file_object=file_object ) @@ -166,7 +154,7 @@ class OfficeDocumentTestCase(BaseTestCase): label=TEST_DOCUMENT_TYPE_LABEL ) - with open(TEST_OFFICE_DOCUMENT_PATH) as file_object: + with open(TEST_OFFICE_DOCUMENT_PATH, 'rb') as file_object: self.document = self.document_type.new_document( file_object=file_object ) @@ -195,7 +183,7 @@ class MultiPageTiffTestCase(BaseTestCase): label=TEST_DOCUMENT_TYPE_LABEL ) - with open(TEST_MULTI_PAGE_TIFF_PATH) as file_object: + with open(TEST_MULTI_PAGE_TIFF_PATH, 'rb') as file_object: self.document = self.document_type.new_document( file_object=file_object ) @@ -218,7 +206,7 @@ class DocumentVersionTestCase(GenericDocumentTestCase): def test_add_new_version(self): self.assertEqual(self.document.versions.count(), 1) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version( file_object=file_object ) @@ -237,7 +225,7 @@ class DocumentVersionTestCase(GenericDocumentTestCase): # field time.sleep(1.01) - with open(TEST_DOCUMENT_PATH) as file_object: + with open(TEST_DOCUMENT_PATH, 'rb') as file_object: self.document.new_version( file_object=file_object ) diff --git a/mayan/apps/documents/tests/test_search.py b/mayan/apps/documents/tests/test_search.py index a0ec21d952..c7cd45ed3d 100644 --- a/mayan/apps/documents/tests/test_search.py +++ b/mayan/apps/documents/tests/test_search.py @@ -3,29 +3,13 @@ from __future__ import unicode_literals from django.test import override_settings from common.tests import BaseTestCase -from documents.models import DocumentType from documents.permissions import permission_document_view from documents.search import document_search, document_page_search -from documents.tests import TEST_DOCUMENT_TYPE_LABEL, TEST_SMALL_DOCUMENT_PATH +from documents.tests import DocumentTestMixin @override_settings(OCR_AUTO_OCR=False) -class DocumentSearchTestCase(BaseTestCase): - def setUp(self): - super(DocumentSearchTestCase, self).setUp() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=file_object, label='mayan_11_1.pdf' - ) - - def tearDown(self): - self.document_type.delete() - super(DocumentSearchTestCase, self).tearDown() - +class DocumentSearchTestCase(DocumentTestMixin, BaseTestCase): def _perform_document_page_search(self): return document_page_search.search( {'q': self.document.label}, user=self.user diff --git a/mayan/apps/tags/tests/mixins.py b/mayan/apps/tags/tests/mixins.py index 04f0a6006a..abd562264a 100644 --- a/mayan/apps/tags/tests/mixins.py +++ b/mayan/apps/tags/tests/mixins.py @@ -1,13 +1,6 @@ from __future__ import unicode_literals -from documents.permissions import permission_document_view -from documents.tests import GenericDocumentViewTestCase - from ..models import Tag -from ..permissions import ( - permission_tag_attach, permission_tag_create, permission_tag_delete, - permission_tag_edit, permission_tag_remove, permission_tag_view -) from .literals import ( TEST_TAG_COLOR, TEST_TAG_COLOR_EDITED, TEST_TAG_LABEL, @@ -31,7 +24,7 @@ class TagTestMixin(object): def _request_tag_delete_view(self): return self.post( - viewname='tags:tag_delete', args=(self.tag.pk,) + viewname='tags:tag_delete', args=(self.tag.pk,) ) def _request_tag_edit_view(self): diff --git a/mayan/apps/tags/tests/test_api.py b/mayan/apps/tags/tests/test_api.py index e5fb894681..065b37d5fa 100644 --- a/mayan/apps/tags/tests/test_api.py +++ b/mayan/apps/tags/tests/test_api.py @@ -5,9 +5,8 @@ from django.utils.encoding import force_text from rest_framework import status -from documents.models import DocumentType from documents.permissions import permission_document_view -from documents.tests import TEST_DOCUMENT_TYPE_LABEL, TEST_SMALL_DOCUMENT_PATH +from documents.tests import DocumentTestMixin from rest_api.tests import BaseAPITestCase from ..models import Tag @@ -23,7 +22,9 @@ from .literals import ( @override_settings(OCR_AUTO_OCR=False) -class TagAPITestCase(BaseAPITestCase): +class TagAPITestCase(DocumentTestMixin, BaseAPITestCase): + auto_upload_document = False + def setUp(self): super(TagAPITestCase, self).setUp() self.login_user() @@ -38,18 +39,6 @@ class TagAPITestCase(BaseAPITestCase): color=TEST_TAG_COLOR, label=TEST_TAG_LABEL ) - def _document_create(self): - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - document = self.document_type.new_document( - file_object=file_object, - ) - - return document - def _request_tag_create(self): return self.post( viewname='rest_api:tag-list', data={ @@ -99,16 +88,15 @@ class TagAPITestCase(BaseAPITestCase): def test_tag_document_list_view_no_access(self): self.tag = self._create_tag() - document = self._document_create() - self.tag.documents.add(document) - + self.document = self.upload_document() + self.tag.documents.add(self.document) response = self._request_tag_document_list_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_tag_document_list_view_with_tag_access(self): self.tag = self._create_tag() - document = self._document_create() - self.tag.documents.add(document) + self.document = self.upload_document() + self.tag.documents.add(self.document) self.grant_access(permission=permission_tag_view, obj=self.tag) response = self._request_tag_document_list_view() self.assertEqual(response.status_code, status.HTTP_200_OK) @@ -116,22 +104,27 @@ class TagAPITestCase(BaseAPITestCase): def test_tag_document_list_view_with_document_access(self): self.tag = self._create_tag() - document = self._document_create() - self.tag.documents.add(document) - self.grant_access(permission=permission_document_view, obj=document) + self.document = self.upload_document() + self.tag.documents.add(self.document) + self.grant_access( + permission=permission_document_view, obj=self.document + ) response = self._request_tag_document_list_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_tag_document_list_view_with_access(self): self.tag = self._create_tag() - document = self._document_create() - self.tag.documents.add(document) + self.document = self.upload_document() + self.tag.documents.add(self.document) self.grant_access(permission=permission_tag_view, obj=self.tag) - self.grant_access(permission=permission_document_view, obj=document) + self.grant_access( + permission=permission_document_view, obj=self.document + ) response = self._request_tag_document_list_view() self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual( - response.data['results'][0]['uuid'], force_text(document.uuid) + response.data['results'][0]['uuid'], + force_text(self.document.uuid) ) def _request_tag_edit_via_patch(self): @@ -192,15 +185,14 @@ class TagAPITestCase(BaseAPITestCase): def test_document_attach_tag_view_no_access(self): self.tag = self._create_tag() - self.document = self._document_create() - + self.document = self.upload_document() response = self._request_document_attach_tag() self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertFalse(self.tag in self.document.tags.all()) def test_document_attach_tag_view_with_document_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.grant_access(permission=permission_tag_attach, obj=self.document) response = self._request_document_attach_tag() self.assertEqual(response.status_code, status.HTTP_201_CREATED) @@ -208,7 +200,7 @@ class TagAPITestCase(BaseAPITestCase): def test_document_attach_tag_view_with_tag_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.grant_access(permission=permission_tag_attach, obj=self.tag) response = self._request_document_attach_tag() self.assertEqual(response.status_code, status.HTTP_201_CREATED) @@ -216,7 +208,7 @@ class TagAPITestCase(BaseAPITestCase): def test_document_attach_tag_view_with_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.grant_access(permission=permission_tag_attach, obj=self.document) self.grant_access(permission=permission_tag_attach, obj=self.tag) response = self._request_document_attach_tag() @@ -232,14 +224,14 @@ class TagAPITestCase(BaseAPITestCase): def test_document_tag_detail_view_no_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) response = self._request_document_tag_detail_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_tag_detail_view_with_document_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) self.grant_access(permission=permission_document_view, obj=self.document) response = self._request_document_tag_detail_view() @@ -247,7 +239,7 @@ class TagAPITestCase(BaseAPITestCase): def test_document_tag_detail_view_with_tag_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) self.grant_access(permission=permission_tag_view, obj=self.tag) response = self._request_document_tag_detail_view() @@ -255,7 +247,7 @@ class TagAPITestCase(BaseAPITestCase): def test_document_tag_detail_view_with_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) self.grant_access(permission=permission_tag_view, obj=self.tag) self.grant_access(permission=permission_document_view, obj=self.document) @@ -270,14 +262,14 @@ class TagAPITestCase(BaseAPITestCase): def test_document_tag_list_view_no_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) response = self._request_document_tag_list_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_document_tag_list_view_with_document_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) self.grant_access(permission=permission_document_view, obj=self.document) response = self._request_document_tag_list_view() @@ -286,7 +278,7 @@ class TagAPITestCase(BaseAPITestCase): def test_document_tag_list_view_with_tag_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) self.grant_access(permission=permission_tag_view, obj=self.tag) response = self._request_document_tag_list_view() @@ -294,7 +286,7 @@ class TagAPITestCase(BaseAPITestCase): def test_document_tag_list_view_with_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) self.grant_access(permission=permission_document_view, obj=self.document) self.grant_access(permission=permission_tag_view, obj=self.tag) @@ -311,7 +303,7 @@ class TagAPITestCase(BaseAPITestCase): def test_document_tag_remove_view_no_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) response = self._request_document_tag_remove() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) @@ -319,7 +311,7 @@ class TagAPITestCase(BaseAPITestCase): def test_document_tag_remove_view_with_document_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) self.grant_access(permission=permission_tag_remove, obj=self.document) response = self._request_document_tag_remove() @@ -328,7 +320,7 @@ class TagAPITestCase(BaseAPITestCase): def test_document_tag_remove_view_with_tag_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) self.grant_access(permission=permission_tag_remove, obj=self.tag) response = self._request_document_tag_remove() @@ -337,7 +329,7 @@ class TagAPITestCase(BaseAPITestCase): def test_document_tag_remove_view_with_access(self): self.tag = self._create_tag() - self.document = self._document_create() + self.document = self.upload_document() self.tag.documents.add(self.document) self.grant_access(permission=permission_document_view, obj=self.document) self.grant_access(permission=permission_tag_remove, obj=self.tag) diff --git a/mayan/apps/tags/tests/test_indexing.py b/mayan/apps/tags/tests/test_indexing.py index 136b89a066..1024a410e5 100644 --- a/mayan/apps/tags/tests/test_indexing.py +++ b/mayan/apps/tags/tests/test_indexing.py @@ -1,11 +1,9 @@ from __future__ import unicode_literals -from django.core.files.base import File from django.test import override_settings from common.tests import BaseTestCase -from documents.models import DocumentType -from documents.tests import TEST_DOCUMENT_TYPE_LABEL, TEST_SMALL_DOCUMENT_PATH +from documents.tests import DocumentTestMixin from document_indexing.models import Index, IndexInstanceNode from document_indexing.tests.literals import TEST_INDEX_LABEL @@ -18,23 +16,8 @@ from .literals import ( @override_settings(OCR_AUTO_OCR=False) -class TagSignalIndexingTestCase(BaseTestCase): - def setUp(self): - super(TagSignalIndexingTestCase, self).setUp() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - def tearDown(self): - self.document.delete() - self.document_type.delete() - super(TagSignalIndexingTestCase, self).tearDown() - - def _create_document(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=File(file_object) - ) +class TagSignalIndexingTestCase(DocumentTestMixin, BaseTestCase): + auto_upload_document = False def test_tag_indexing(self): index = Index.objects.create(label=TEST_INDEX_LABEL) @@ -48,7 +31,7 @@ class TagSignalIndexingTestCase(BaseTestCase): ) tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) - self._create_document() + self.document = self.upload_document() self.assertTrue( self.document in IndexInstanceNode.objects.get( diff --git a/mayan/apps/tags/tests/test_models.py b/mayan/apps/tags/tests/test_models.py index 8f373150f1..e6d5b25acd 100644 --- a/mayan/apps/tags/tests/test_models.py +++ b/mayan/apps/tags/tests/test_models.py @@ -1,11 +1,9 @@ from __future__ import unicode_literals -from django.core.files.base import File from django.test import override_settings from common.tests import BaseTestCase -from documents.models import DocumentType -from documents.tests import TEST_DOCUMENT_TYPE_LABEL, TEST_SMALL_DOCUMENT_PATH +from documents.tests import DocumentTestMixin from ..models import Tag @@ -13,17 +11,11 @@ from .literals import TEST_TAG_COLOR, TEST_TAG_LABEL @override_settings(OCR_AUTO_OCR=False) -class TagTestCase(BaseTestCase): +class TagTestCase(DocumentTestMixin, BaseTestCase): + auto_upload_document = False + def setUp(self): super(TagTestCase, self).setUp() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document = self.document_type.new_document( - file_object=File(file_object) - ) def tearDown(self): self.document.delete() @@ -37,6 +29,7 @@ class TagTestCase(BaseTestCase): def test_addition_and_deletion_of_documents(self): tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + self.document = self.upload_document() tag.documents.add(self.document) diff --git a/mayan/apps/tags/tests/test_wizard_steps.py b/mayan/apps/tags/tests/test_wizard_steps.py index bc65e36c04..f0f095f104 100644 --- a/mayan/apps/tags/tests/test_wizard_steps.py +++ b/mayan/apps/tags/tests/test_wizard_steps.py @@ -27,7 +27,7 @@ class TaggedDocumentUploadTestCase(GenericDocumentViewTestCase): self.document.delete() def _request_upload_interactive_document_create_view(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + with open(TEST_SMALL_DOCUMENT_PATH, 'rb') as file_object: return self.post( viewname='sources:upload_interactive', args=(self.source.pk,), data={