Unify tests that use upload documents. Add explicit mode when opening a file.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2018-09-06 03:38:17 -04:00
parent 388b61ca7a
commit 4eab4670be
33 changed files with 245 additions and 423 deletions

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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={

View File

@@ -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(

View File

@@ -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)

View File

@@ -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'

View File

@@ -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(

View File

@@ -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

View File

@@ -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

View File

@@ -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
)

View File

@@ -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(

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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)

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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'

View File

@@ -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
)

View File

@@ -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()

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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)

View File

@@ -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
)

View File

@@ -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

View File

@@ -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):

View File

@@ -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)

View File

@@ -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(

View File

@@ -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)

View File

@@ -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={