From f55bf1b52e54b382089353a62edd9274e2ae5587 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 18 Nov 2019 20:59:47 -0400 Subject: [PATCH] Improve document signatures tests Signed-off-by: Roberto Rosario --- .../apps/document_signatures/tests/mixins.py | 6 +- .../document_signatures/tests/test_links.py | 6 +- .../document_signatures/tests/test_models.py | 36 +++---- .../document_signatures/tests/test_views.py | 97 ++++--------------- 4 files changed, 46 insertions(+), 99 deletions(-) diff --git a/mayan/apps/document_signatures/tests/mixins.py b/mayan/apps/document_signatures/tests/mixins.py index 6d352abdfb..9f51427a3a 100644 --- a/mayan/apps/document_signatures/tests/mixins.py +++ b/mayan/apps/document_signatures/tests/mixins.py @@ -54,9 +54,11 @@ class SignatureTestMixin(object): signature_file=File(file_object) ) - def _create_test_key_private(self): + def _create_test_key_public(self): with open(TEST_KEY_FILE_PATH, mode='rb') as file_object: - self.test_key = Key.objects.create(key_data=file_object.read()) + self.test_key_public = Key.objects.create( + key_data=file_object.read() + ) class SignatureViewTestMixin(object): diff --git a/mayan/apps/document_signatures/tests/test_links.py b/mayan/apps/document_signatures/tests/test_links.py index ef37d7078d..46800e4b89 100644 --- a/mayan/apps/document_signatures/tests/test_links.py +++ b/mayan/apps/document_signatures/tests/test_links.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from django.urls import reverse from mayan.apps.documents.tests import ( - GenericDocumentViewTestCase, TEST_DOCUMENT_PATH + GenericDocumentViewTestCase, TEST_SMALL_DOCUMENT_PATH ) from ..links import ( @@ -62,7 +62,7 @@ class DocumentSignatureLinksTestCase( ) def test_document_version_signature_delete_link_no_permission(self): - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() @@ -77,7 +77,7 @@ class DocumentSignatureLinksTestCase( self.assertEqual(resolved_link, None) def test_document_version_signature_delete_link_with_permission(self): - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() diff --git a/mayan/apps/document_signatures/tests/test_models.py b/mayan/apps/document_signatures/tests/test_models.py index 1bbec89de2..5bbd3a07d4 100644 --- a/mayan/apps/document_signatures/tests/test_models.py +++ b/mayan/apps/document_signatures/tests/test_models.py @@ -7,7 +7,7 @@ from mayan.apps.django_gpg.tests.literals import TEST_KEY_PRIVATE_PASSPHRASE from mayan.apps.django_gpg.tests.mixins import KeyTestMixin from mayan.apps.documents.models import DocumentVersion from mayan.apps.documents.tests import ( - GenericDocumentTestCase, TEST_DOCUMENT_PATH + GenericDocumentTestCase, TEST_DOCUMENT_PATH, TEST_SMALL_DOCUMENT_PATH ) from ..models import DetachedSignature, EmbeddedSignature @@ -48,14 +48,14 @@ class DocumentSignaturesTestCase(SignatureTestMixin, GenericDocumentTestCase): self.assertEqual(signature.key_id, TEST_KEY_PUBLIC_ID) self.assertEqual(signature.signature_id, None) - self._create_test_key_private() + self._create_test_key_public() signature = EmbeddedSignature.objects.first() self.assertEqual(signature.signature_id, TEST_SIGNATURE_ID) def test_embedded_signature_post_no_key_verify(self): - self._create_test_key_private() + self._create_test_key_public() self.test_document_path = TEST_SIGNED_DOCUMENT_PATH self.upload_document() @@ -69,14 +69,14 @@ class DocumentSignaturesTestCase(SignatureTestMixin, GenericDocumentTestCase): self.assertEqual(signature.key_id, TEST_KEY_PUBLIC_ID) self.assertEqual(signature.signature_id, TEST_SIGNATURE_ID) - self.test_key.delete() + self.test_key_public.delete() signature = EmbeddedSignature.objects.first() self.assertEqual(signature.signature_id, None) def test_embedded_signature_with_key(self): - self._create_test_key_private() + self._create_test_key_public() self.test_document_path = TEST_SIGNED_DOCUMENT_PATH self.upload_document() @@ -90,12 +90,12 @@ class DocumentSignaturesTestCase(SignatureTestMixin, GenericDocumentTestCase): ) self.assertEqual(signature.key_id, TEST_KEY_PUBLIC_ID) self.assertEqual( - signature.public_key_fingerprint, self.test_key.fingerprint + signature.public_key_fingerprint, self.test_key_public.fingerprint ) self.assertEqual(signature.signature_id, TEST_SIGNATURE_ID) def test_detached_signature_no_key(self): - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() @@ -109,7 +109,7 @@ class DocumentSignaturesTestCase(SignatureTestMixin, GenericDocumentTestCase): self.assertEqual(self.test_signature.public_key_fingerprint, None) def test_detached_signature_with_key(self): - self._create_test_key_private() + self._create_test_key_public() self.test_document_path = TEST_DOCUMENT_PATH self.upload_document() @@ -123,7 +123,7 @@ class DocumentSignaturesTestCase(SignatureTestMixin, GenericDocumentTestCase): self.assertEqual(self.test_signature.key_id, TEST_KEY_PUBLIC_ID) self.assertEqual( self.test_signature.public_key_fingerprint, - self.test_key.fingerprint + self.test_key_public.fingerprint ) def test_detached_signature_post_key_verify(self): @@ -141,16 +141,16 @@ class DocumentSignaturesTestCase(SignatureTestMixin, GenericDocumentTestCase): self.assertEqual(self.test_signature.key_id, TEST_KEY_PUBLIC_ID) self.assertEqual(self.test_signature.public_key_fingerprint, None) - self._create_test_key_private() + self._create_test_key_public() signature = DetachedSignature.objects.first() self.assertEqual( - signature.public_key_fingerprint, self.test_key.fingerprint + signature.public_key_fingerprint, self.test_key_public.fingerprint ) def test_detached_signature_post_no_key_verify(self): - self._create_test_key_private() + self._create_test_key_public() self.test_document_path = TEST_DOCUMENT_PATH self.upload_document() @@ -165,23 +165,23 @@ class DocumentSignaturesTestCase(SignatureTestMixin, GenericDocumentTestCase): self.assertEqual(self.test_signature.key_id, TEST_KEY_PUBLIC_ID) self.assertEqual( self.test_signature.public_key_fingerprint, - self.test_key.fingerprint + self.test_key_public.fingerprint ) - self.test_key.delete() + self.test_key_public.delete() signature = DetachedSignature.objects.first() self.assertEqual(signature.public_key_fingerprint, None) def test_document_no_signature(self): - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self.assertEqual(EmbeddedSignature.objects.count(), 0) def test_new_signed_version(self): - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() with open(TEST_SIGNED_DOCUMENT_PATH, mode='rb') as file_object: @@ -209,7 +209,7 @@ class EmbeddedSignaturesTestCase(KeyTestMixin, GenericDocumentTestCase): TEST_UNSIGNED_DOCUMENT_COUNT = 2 TEST_SIGNED_DOCUMENT_COUNT = 2 - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH for count in range(TEST_UNSIGNED_DOCUMENT_COUNT): self.upload_document() @@ -233,7 +233,7 @@ class EmbeddedSignaturesTestCase(KeyTestMixin, GenericDocumentTestCase): TEST_UNSIGNED_DOCUMENT_COUNT = 2 TEST_SIGNED_DOCUMENT_COUNT = 2 - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH for count in range(TEST_UNSIGNED_DOCUMENT_COUNT): self.upload_document() diff --git a/mayan/apps/document_signatures/tests/test_views.py b/mayan/apps/document_signatures/tests/test_views.py index 96b14618fb..016d93f36a 100644 --- a/mayan/apps/document_signatures/tests/test_views.py +++ b/mayan/apps/document_signatures/tests/test_views.py @@ -6,7 +6,8 @@ from mayan.apps.django_gpg.permissions import permission_key_sign from mayan.apps.django_gpg.tests.mixins import KeyTestMixin from mayan.apps.documents.models import DocumentVersion from mayan.apps.documents.tests import ( - GenericDocumentViewTestCase, TEST_DOCUMENT_PATH + GenericDocumentViewTestCase, TEST_DOCUMENT_PATH, + TEST_SMALL_DOCUMENT_PATH ) from ..models import DetachedSignature, EmbeddedSignature @@ -36,9 +37,7 @@ class SignaturesViewTestCase( auto_upload_document = False def test_signature_delete_view_no_permission(self): - self._create_test_key_private() - - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() @@ -53,9 +52,7 @@ class SignaturesViewTestCase( self.assertEqual(DetachedSignature.objects.count(), 1) def test_signature_delete_view_with_access(self): - self._create_test_key_private() - - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() @@ -74,9 +71,7 @@ class SignaturesViewTestCase( self.assertEqual(DetachedSignature.objects.count(), 0) def test_signature_detail_view_no_permission(self): - self._create_test_key_private() - - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() @@ -85,9 +80,7 @@ class SignaturesViewTestCase( self.assertEqual(response.status_code, 404) def test_signature_detail_view_with_access(self): - self._create_test_key_private() - - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() @@ -103,40 +96,8 @@ class SignaturesViewTestCase( status_code=200 ) - """ - def test_signature_download_view_no_permission(self): - self.test_document_path = TEST_DOCUMENT_PATH - self.upload_document() - - self._create_test_detached_signature() - - response = self._request_test_document_version_signature_download_view() - self.assertEqual(response.status_code, 403) - - def test_signature_download_view_with_access(self): - self.test_document_path = TEST_DOCUMENT_PATH - self.upload_document() - - self._create_test_detached_signature() - - self.grant_access( - obj=self.test_document, - permission=permission_document_version_signature_download - ) - - self.expected_content_type = 'application/octet-stream; charset=utf-8' - - response = self._request_test_document_version_signature_download_view() - - with self.test_signature.signature_file as file_object: - assert_download_response( - self, response=response, content=file_object.read(), - ) - """ def test_signature_list_view_no_permission(self): - self._create_test_key_private() - - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() @@ -147,9 +108,7 @@ class SignaturesViewTestCase( self.assertEqual(response.status_code, 403) def test_signature_list_view_with_access(self): - self._create_test_key_private() - - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() @@ -164,30 +123,7 @@ class SignaturesViewTestCase( ) self.assertEqual(response.status_code, 200) self.assertEqual(response.context['object_list'].count(), 1) - """ - def test_signature_upload_view_no_permission(self): - self.test_document_path = TEST_DOCUMENT_PATH - self.upload_document() - response = self._request_test_document_version_signature_upload_view() - self.assertEqual(response.status_code, 403) - - self.assertEqual(DetachedSignature.objects.count(), 0) - - def test_signature_upload_view_with_access(self): - self.test_document_path = TEST_DOCUMENT_PATH - self.upload_document() - - self.grant_access( - obj=self.test_document, - permission=permission_document_version_signature_upload - ) - - response = self._request_test_document_version_signature_upload_view() - self.assertEqual(response.status_code, 302) - - self.assertEqual(DetachedSignature.objects.count(), 1) - """ def test_missing_signature_verify_view_no_permission(self): # Silence converter logging self._silence_logger(name='mayan.apps.converter.backends') @@ -198,7 +134,7 @@ class SignaturesViewTestCase( old_hooks = DocumentVersion._post_save_hooks DocumentVersion._post_save_hooks = {} - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH for count in range(TEST_UNSIGNED_DOCUMENT_COUNT): self.upload_document() @@ -231,7 +167,7 @@ class SignaturesViewTestCase( old_hooks = DocumentVersion._post_save_hooks DocumentVersion._post_save_hooks = {} - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH for count in range(TEST_UNSIGNED_DOCUMENT_COUNT): self.upload_document() @@ -266,6 +202,7 @@ class DetachedSignaturesViewTestCase( auto_upload_document = False def test_detached_signature_create_view_with_no_permission(self): + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_key_private() @@ -280,6 +217,7 @@ class DetachedSignaturesViewTestCase( ) def test_detached_signature_create_view_with_document_access(self): + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_key_private() @@ -299,6 +237,7 @@ class DetachedSignaturesViewTestCase( ) def test_detached_signature_create_view_with_key_access(self): + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_key_private() @@ -318,6 +257,7 @@ class DetachedSignaturesViewTestCase( ) def test_detached_signature_create_view_with_full_access(self): + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_key_private() @@ -341,7 +281,7 @@ class DetachedSignaturesViewTestCase( ) def test_signature_download_view_no_permission(self): - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() @@ -350,7 +290,7 @@ class DetachedSignaturesViewTestCase( self.assertEqual(response.status_code, 403) def test_signature_download_view_with_access(self): - self.test_document_path = TEST_DOCUMENT_PATH + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_detached_signature() @@ -371,6 +311,7 @@ class DetachedSignaturesViewTestCase( def test_signature_upload_view_no_permission(self): self.test_document_path = TEST_DOCUMENT_PATH + self.upload_document() response = self._request_test_document_version_signature_upload_view() @@ -399,6 +340,7 @@ class EmbeddedSignaturesViewTestCase( auto_upload_document = False def test_embedded_signature_create_view_with_no_permission(self): + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_key_private() @@ -413,6 +355,7 @@ class EmbeddedSignaturesViewTestCase( ) def test_embedded_signature_create_view_with_document_access(self): + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_key_private() @@ -432,6 +375,7 @@ class EmbeddedSignaturesViewTestCase( ) def test_embedded_signature_create_view_with_key_access(self): + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_key_private() @@ -451,6 +395,7 @@ class EmbeddedSignaturesViewTestCase( ) def test_embedded_signature_create_view_with_full_access(self): + self.test_document_path = TEST_SMALL_DOCUMENT_PATH self.upload_document() self._create_test_key_private()