Update and fix failing tests.
This commit is contained in:
@@ -9,7 +9,6 @@ from common.tests import BaseTestCase
|
||||
from documents.models import Document, DocumentType
|
||||
from documents.permissions import permission_document_view
|
||||
from documents.tests import TEST_SMALL_DOCUMENT_PATH, TEST_DOCUMENT_TYPE
|
||||
from permissions.classes import Permission
|
||||
from permissions.models import Role
|
||||
from permissions.tests.literals import TEST_ROLE_LABEL
|
||||
from user_management.tests.literals import TEST_USER_USERNAME, TEST_GROUP
|
||||
@@ -22,7 +21,7 @@ TEST_DOCUMENT_TYPE_2 = 'test document type 2'
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class PermissionTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(PermissionTestCase).setUp()
|
||||
super(PermissionTestCase, self).setUp()
|
||||
self.document_type_1 = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
@@ -56,10 +55,9 @@ class PermissionTestCase(BaseTestCase):
|
||||
self.role.groups.add(self.group)
|
||||
|
||||
def tearDown(self):
|
||||
super(PermissionTestCase).tearDown()
|
||||
|
||||
for document_type in DocumentType.objects.all():
|
||||
document_type.delete()
|
||||
super(PermissionTestCase, self).tearDown()
|
||||
|
||||
def test_check_access_without_permissions(self):
|
||||
with self.assertRaises(PermissionDenied):
|
||||
|
||||
@@ -26,7 +26,7 @@ from ..models import DocumentCheckout, NewVersionBlock
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class DocumentCheckoutTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(DocumentCheckoutTestCase).setUp()
|
||||
super(DocumentCheckoutTestCase, self).setUp()
|
||||
self.admin_user = get_user_model().objects.create_superuser(
|
||||
username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL,
|
||||
password=TEST_ADMIN_PASSWORD
|
||||
@@ -42,8 +42,8 @@ class DocumentCheckoutTestCase(BaseTestCase):
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
super(DocumentCheckoutTestCase).tearDown()
|
||||
self.document_type.delete()
|
||||
super(DocumentCheckoutTestCase, self).tearDown()
|
||||
|
||||
def test_document_checkout(self):
|
||||
expiration_datetime = now() + datetime.timedelta(days=1)
|
||||
|
||||
@@ -92,6 +92,9 @@ class GenericViewTestCase(BaseTestCase):
|
||||
def login_user(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
def login_admin_user(self):
|
||||
self.login(username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD)
|
||||
|
||||
def logout(self):
|
||||
self.client.logout()
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ from .literals import (
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class IndexTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(IndexTestCase).setUp()
|
||||
super(IndexTestCase, self).setUp()
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
@@ -30,8 +30,8 @@ class IndexTestCase(BaseTestCase):
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
super(IndexTestCase).tearDown()
|
||||
self.document_type.delete()
|
||||
super(IndexTestCase, self).tearDown()
|
||||
|
||||
def test_indexing(self):
|
||||
metadata_type = MetadataType.objects.create(
|
||||
|
||||
@@ -24,14 +24,14 @@ from .literals import (
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class DocumentSignaturesTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(DocumentSignaturesTestCase).setUp()
|
||||
super(DocumentSignaturesTestCase, self).setUp()
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
super(DocumentSignaturesTestCase).tearDown()
|
||||
self.document_type.delete()
|
||||
super(DocumentSignaturesTestCase, self).tearDown()
|
||||
|
||||
def test_embedded_signature_no_key(self):
|
||||
with open(TEST_SIGNED_DOCUMENT_PATH) as file_object:
|
||||
@@ -252,16 +252,15 @@ class DocumentSignaturesTestCase(BaseTestCase):
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class EmbeddedSignaturesTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(EmbeddedSignaturesTestCase).setUp()
|
||||
super(EmbeddedSignaturesTestCase, self).setUp()
|
||||
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
super(EmbeddedSignaturesTestCase).tearDown()
|
||||
|
||||
self.document_type.delete()
|
||||
super(EmbeddedSignaturesTestCase, self).tearDown()
|
||||
|
||||
def test_unsigned_document_version_method(self):
|
||||
TEST_UNSIGNED_DOCUMENT_COUNT = 3
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.test.client import Client
|
||||
from django.test import TestCase
|
||||
|
||||
from common.tests.test_views import GenericViewTestCase
|
||||
from documents.models import DocumentType
|
||||
from documents.tests.literals import (
|
||||
TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH
|
||||
)
|
||||
from user_management.tests import (
|
||||
TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_ADMIN_EMAIL
|
||||
)
|
||||
|
||||
from ..models import Workflow, WorkflowState, WorkflowTransition
|
||||
|
||||
@@ -22,19 +17,11 @@ from .literals import (
|
||||
)
|
||||
|
||||
|
||||
class DocumentStateViewTestCase(TestCase):
|
||||
class DocumentStateViewTestCase(GenericViewTestCase):
|
||||
def setUp(self):
|
||||
self.admin_user = get_user_model().objects.create_superuser(
|
||||
username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL,
|
||||
password=TEST_ADMIN_PASSWORD
|
||||
)
|
||||
self.client = Client()
|
||||
# Login the admin user
|
||||
logged_in = self.client.login(
|
||||
username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD
|
||||
)
|
||||
self.assertTrue(logged_in)
|
||||
self.assertTrue(self.admin_user.is_authenticated())
|
||||
super(DocumentStateViewTestCase, self).setUp()
|
||||
|
||||
self.login_admin_user()
|
||||
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
@@ -47,6 +34,7 @@ class DocumentStateViewTestCase(TestCase):
|
||||
|
||||
def tearDown(self):
|
||||
self.document_type.delete()
|
||||
super(DocumentStateViewTestCase, self).tearDown()
|
||||
|
||||
def test_creating_workflow(self):
|
||||
response = self.client.post(
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.test import TestCase
|
||||
from django.test import override_settings
|
||||
|
||||
from common.tests import BaseTestCase
|
||||
from documents.models import DocumentType
|
||||
from documents.search import document_search
|
||||
from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH
|
||||
@@ -11,8 +12,10 @@ from user_management.tests import (
|
||||
)
|
||||
|
||||
|
||||
class DocumentSearchTestCase(TestCase):
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class DocumentSearchTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(DocumentSearchTestCase, self).setUp()
|
||||
self.admin_user = get_user_model().objects.create_superuser(
|
||||
username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL,
|
||||
password=TEST_ADMIN_PASSWORD
|
||||
@@ -28,6 +31,7 @@ class DocumentSearchTestCase(TestCase):
|
||||
|
||||
def tearDown(self):
|
||||
self.document_type.delete()
|
||||
super(DocumentSearchTestCase, self).tearDown()
|
||||
|
||||
def test_simple_search_after_related_name_change(self):
|
||||
"""
|
||||
|
||||
@@ -1,35 +1,23 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.test import TestCase
|
||||
from django.test.client import Client
|
||||
from django.test import override_settings
|
||||
|
||||
from common.tests.test_views import GenericViewTestCase
|
||||
from documents.models import DocumentType
|
||||
from documents.search import document_search
|
||||
from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH
|
||||
from user_management.tests import (
|
||||
TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_ADMIN_EMAIL
|
||||
)
|
||||
|
||||
|
||||
class Issue46TestCase(TestCase):
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class Issue46TestCase(GenericViewTestCase):
|
||||
"""
|
||||
Functional tests to make sure issue 46 is fixed
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
self.admin_user = get_user_model().objects.create_superuser(
|
||||
username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL,
|
||||
password=TEST_ADMIN_PASSWORD
|
||||
)
|
||||
self.client = Client()
|
||||
# Login the admin user
|
||||
logged_in = self.client.login(
|
||||
username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD
|
||||
)
|
||||
self.assertTrue(logged_in)
|
||||
self.assertTrue(self.admin_user.is_authenticated())
|
||||
super(Issue46TestCase, self).setUp()
|
||||
self.login_admin_user()
|
||||
|
||||
self.document_count = 4
|
||||
|
||||
@@ -48,6 +36,7 @@ class Issue46TestCase(TestCase):
|
||||
def tearDown(self):
|
||||
for document_type in DocumentType.objects.all():
|
||||
document_type.delete()
|
||||
super(Issue46TestCase, self).tearDown()
|
||||
|
||||
def test_advanced_search_past_first_page(self):
|
||||
# Make sure all documents are returned by the search
|
||||
|
||||
@@ -14,7 +14,7 @@ from .literals import TEST_FOLDER_LABEL
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class FolderTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(FolderTestCase).setUp()
|
||||
super(FolderTestCase, self).setUp()
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
@@ -25,9 +25,8 @@ class FolderTestCase(BaseTestCase):
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
super(FolderTestCase).tearDown()
|
||||
|
||||
self.document_type.delete()
|
||||
super(FolderTestCase, self).tearDown()
|
||||
|
||||
def test_folder_creation(self):
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
@@ -20,7 +20,7 @@ from .literals import TEST_SMART_LINK_LABEL, TEST_SMART_LINK_DYNAMIC_LABEL
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class SmartLinkTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(SmartLinkTestCase).setUp()
|
||||
super(SmartLinkTestCase, self).setUp()
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
@@ -36,9 +36,8 @@ class SmartLinkTestCase(BaseTestCase):
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
super(SmartLinkTestCase).tearDown()
|
||||
|
||||
self.document_type.delete()
|
||||
super(SmartLinkTestCase, self).tearDown()
|
||||
|
||||
def test_dynamic_label(self):
|
||||
smart_link = SmartLink.objects.create(
|
||||
|
||||
@@ -2,9 +2,6 @@ from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from documents.permissions import permission_document_view
|
||||
from documents.tests.test_views import GenericDocumentViewTestCase
|
||||
from user_management.tests import (
|
||||
TEST_USER_USERNAME, TEST_USER_PASSWORD
|
||||
)
|
||||
|
||||
from ..models import SmartLink
|
||||
from ..permissions import (
|
||||
@@ -20,7 +17,7 @@ from .literals import (
|
||||
|
||||
class SmartLinkViewTestCase(GenericDocumentViewTestCase):
|
||||
def test_smart_link_create_view_no_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
response = self.post(
|
||||
'linking:smart_link_create', data={
|
||||
@@ -32,7 +29,7 @@ class SmartLinkViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(SmartLink.objects.count(), 0)
|
||||
|
||||
def test_smart_link_create_view_with_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_smart_link_create.stored_permission
|
||||
@@ -50,7 +47,7 @@ class SmartLinkViewTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
def test_smart_link_delete_view_no_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
smart_link = SmartLink.objects.create(label=TEST_SMART_LINK_LABEL)
|
||||
|
||||
@@ -61,7 +58,7 @@ class SmartLinkViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(SmartLink.objects.count(), 1)
|
||||
|
||||
def test_smart_link_delete_view_with_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_smart_link_delete.stored_permission
|
||||
@@ -77,7 +74,7 @@ class SmartLinkViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(SmartLink.objects.count(), 0)
|
||||
|
||||
def test_smart_link_edit_view_no_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
smart_link = SmartLink.objects.create(label=TEST_SMART_LINK_LABEL)
|
||||
|
||||
@@ -91,7 +88,7 @@ class SmartLinkViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(smart_link.label, TEST_SMART_LINK_LABEL)
|
||||
|
||||
def test_smart_link_edit_view_with_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_smart_link_edit.stored_permission
|
||||
@@ -125,7 +122,7 @@ class SmartLinkViewTestCase(GenericDocumentViewTestCase):
|
||||
def test_document_smart_link_list_view_no_permission(self):
|
||||
self.setup_smart_links()
|
||||
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_document_view.stored_permission
|
||||
@@ -145,7 +142,7 @@ class SmartLinkViewTestCase(GenericDocumentViewTestCase):
|
||||
def test_document_smart_link_list_view_with_permission(self):
|
||||
self.setup_smart_links()
|
||||
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_smart_link_view.stored_permission
|
||||
|
||||
@@ -3,9 +3,6 @@ from __future__ import unicode_literals
|
||||
from django.core import mail
|
||||
|
||||
from documents.tests.test_views import GenericDocumentViewTestCase
|
||||
from user_management.tests.literals import (
|
||||
TEST_USER_PASSWORD, TEST_USER_USERNAME
|
||||
)
|
||||
|
||||
from ..permissions import (
|
||||
permission_mailing_link, permission_mailing_send_document
|
||||
@@ -16,9 +13,7 @@ TEST_EMAIL_ADDRESS = 'test@example.com'
|
||||
|
||||
class MailerViewsTestCase(GenericDocumentViewTestCase):
|
||||
def test_mail_link_view_no_permissions(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
response = self.post(
|
||||
'mailer:send_document_link', args=(self.document.pk,),
|
||||
@@ -28,13 +23,10 @@ class MailerViewsTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
def test_mail_link_view_with_permission(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.grant(permission_mailing_link)
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_mailing_link.stored_permission
|
||||
)
|
||||
response = self.post(
|
||||
'mailer:send_document_link', args=(self.document.pk,),
|
||||
data={'email': TEST_EMAIL_ADDRESS},
|
||||
@@ -48,9 +40,7 @@ class MailerViewsTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(mail.outbox[0].to, [TEST_EMAIL_ADDRESS])
|
||||
|
||||
def test_mail_document_view_no_permissions(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
response = self.post(
|
||||
'mailer:send_document', args=(self.document.pk,),
|
||||
@@ -60,13 +50,10 @@ class MailerViewsTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
def test_mail_document_view_with_permission(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.grant(permission_mailing_send_document)
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_mailing_send_document.stored_permission
|
||||
)
|
||||
response = self.post(
|
||||
'mailer:send_document', args=(self.document.pk,),
|
||||
data={'email': TEST_EMAIL_ADDRESS},
|
||||
|
||||
@@ -8,7 +8,7 @@ TEST_DEFAULT_VALUE = 'test'
|
||||
TEST_INCORRECT_LOOKUP_VALUE = '0'
|
||||
TEST_INVALID_DATE = '___________'
|
||||
TEST_LOOKUP_TEMPLATE = '1,2,3'
|
||||
TEST_METADATA_TYPE_LABEL = 'test'
|
||||
TEST_METADATA_TYPE_LABEL = 'test metadata type'
|
||||
TEST_METADATA_TYPE_LABEL_2 = 'test metadata type label 2'
|
||||
TEST_METADATA_TYPE_NAME = 'test'
|
||||
TEST_METADATA_TYPE_NAME_2 = 'test metadata type name 2'
|
||||
|
||||
@@ -21,7 +21,7 @@ from .literals import (
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class MetadataTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(MetadataTestCase).setUp()
|
||||
super(MetadataTestCase, self).setUp()
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
@@ -38,9 +38,8 @@ class MetadataTestCase(BaseTestCase):
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
super(MetadataTestCase).tearDown()
|
||||
|
||||
self.document_type.delete()
|
||||
super(MetadataTestCase, self).tearDown()
|
||||
|
||||
def test_no_default(self):
|
||||
document_metadata = DocumentMetadata(
|
||||
|
||||
@@ -9,9 +9,6 @@ from documents.tests.literals import (
|
||||
TEST_DOCUMENT_TYPE_2, TEST_SMALL_DOCUMENT_PATH
|
||||
)
|
||||
from documents.tests.test_views import GenericDocumentViewTestCase
|
||||
from user_management.tests.literals import (
|
||||
TEST_USER_USERNAME, TEST_USER_PASSWORD
|
||||
)
|
||||
|
||||
from ..models import MetadataType
|
||||
from ..permissions import (
|
||||
@@ -37,37 +34,26 @@ class DocumentMetadataTestCase(GenericDocumentViewTestCase):
|
||||
self.document_type.metadata.create(metadata_type=self.metadata_type)
|
||||
|
||||
def test_metadata_add_view_no_permission(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_document_view.stored_permission
|
||||
)
|
||||
self.grant(permission_document_view)
|
||||
|
||||
response = self.post(
|
||||
'metadata:metadata_add', args=(self.document.pk,),
|
||||
data={'metadata_type': self.metadata_type.pk}
|
||||
)
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertNotContains(
|
||||
response, text=self.metadata_type.label, status_code=200
|
||||
)
|
||||
|
||||
self.assertEqual(len(self.document.metadata.all()), 0)
|
||||
|
||||
def test_metadata_add_view_with_permission(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_document_view.stored_permission
|
||||
)
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_metadata_document_add.stored_permission
|
||||
)
|
||||
self.role.permissions.add(
|
||||
permission_metadata_document_edit.stored_permission
|
||||
)
|
||||
self.grant(permission_document_view)
|
||||
self.grant(permission_metadata_document_add)
|
||||
self.grant(permission_metadata_document_edit)
|
||||
|
||||
response = self.post(
|
||||
'metadata:metadata_add', args=(self.document.pk,),
|
||||
@@ -82,17 +68,10 @@ class DocumentMetadataTestCase(GenericDocumentViewTestCase):
|
||||
# Gitlab issue #204
|
||||
# Problems to add required metadata after changing the document type
|
||||
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_document_properties_edit.stored_permission
|
||||
)
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_metadata_document_edit.stored_permission
|
||||
)
|
||||
self.grant(permission_document_properties_edit)
|
||||
self.grant(permission_metadata_document_edit)
|
||||
|
||||
document_type_2 = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE_2
|
||||
@@ -133,9 +112,7 @@ class DocumentMetadataTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
def test_metadata_remove_view_no_permission(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
document_metadata = self.document.metadata.create(
|
||||
metadata_type=self.metadata_type, value=''
|
||||
@@ -143,16 +120,16 @@ class DocumentMetadataTestCase(GenericDocumentViewTestCase):
|
||||
|
||||
self.assertEqual(len(self.document.metadata.all()), 1)
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_document_view.stored_permission
|
||||
)
|
||||
self.grant(permission_document_view)
|
||||
|
||||
# Test display of metadata removal form
|
||||
response = self.get(
|
||||
'metadata:metadata_remove', args=(self.document.pk,),
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertNotContains(
|
||||
response, text=self.metadata_type.label, status_code=200
|
||||
)
|
||||
|
||||
# Test post to metadata removal view
|
||||
response = self.post(
|
||||
@@ -165,14 +142,12 @@ class DocumentMetadataTestCase(GenericDocumentViewTestCase):
|
||||
}, follow=True
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
self.assertEqual(len(self.document.metadata.all()), 1)
|
||||
|
||||
def test_metadata_remove_view_with_permission(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
document_metadata = self.document.metadata.create(
|
||||
metadata_type=self.metadata_type, value=''
|
||||
@@ -180,19 +155,18 @@ class DocumentMetadataTestCase(GenericDocumentViewTestCase):
|
||||
|
||||
self.assertEqual(len(self.document.metadata.all()), 1)
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_document_view.stored_permission
|
||||
)
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_metadata_document_remove.stored_permission
|
||||
)
|
||||
self.grant(permission_document_view)
|
||||
self.grant(permission_metadata_document_remove)
|
||||
|
||||
# Test display of metadata removal form
|
||||
response = self.get(
|
||||
'metadata:metadata_remove', args=(self.document.pk,),
|
||||
)
|
||||
|
||||
self.assertContains(
|
||||
response, text=self.metadata_type.label, status_code=200
|
||||
)
|
||||
|
||||
self.assertContains(response, 'emove', status_code=200)
|
||||
|
||||
# Test post to metadata removal view
|
||||
@@ -211,20 +185,11 @@ class DocumentMetadataTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(len(self.document.metadata.all()), 0)
|
||||
|
||||
def test_multiple_document_metadata_edit(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_document_view.stored_permission
|
||||
)
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_metadata_document_add.stored_permission
|
||||
)
|
||||
self.role.permissions.add(
|
||||
permission_metadata_document_edit.stored_permission
|
||||
)
|
||||
self.grant(permission_document_view)
|
||||
self.grant(permission_metadata_document_add)
|
||||
self.grant(permission_metadata_document_edit)
|
||||
|
||||
with open(TEST_SMALL_DOCUMENT_PATH) as file_object:
|
||||
document_2 = self.document_type.new_document(
|
||||
@@ -243,20 +208,11 @@ class DocumentMetadataTestCase(GenericDocumentViewTestCase):
|
||||
self.assertContains(response, 'Edit', status_code=200)
|
||||
|
||||
def test_multiple_document_metadata_add(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_document_view.stored_permission
|
||||
)
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_metadata_document_add.stored_permission
|
||||
)
|
||||
self.role.permissions.add(
|
||||
permission_metadata_document_edit.stored_permission
|
||||
)
|
||||
self.grant(permission_document_view)
|
||||
self.grant(permission_metadata_document_add)
|
||||
self.grant(permission_metadata_document_edit)
|
||||
|
||||
with open(TEST_SMALL_DOCUMENT_PATH) as file_object:
|
||||
document_2 = self.document_type.new_document(
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.core.files.base import File
|
||||
|
||||
from common.tests import BaseTestCase
|
||||
from documents.models import DocumentType
|
||||
from documents.settings import setting_language_choices
|
||||
@@ -13,6 +11,10 @@ from documents.tests import (
|
||||
|
||||
|
||||
class DocumentOCRTestCase(BaseTestCase):
|
||||
# PyOCR's leak descriptor in get_available_languages and image_to_string
|
||||
# Disable descriptor leak test until fixed in upstream
|
||||
_skip_file_descriptor_test = True
|
||||
|
||||
def setUp(self):
|
||||
super(DocumentOCRTestCase, self).setUp()
|
||||
|
||||
@@ -22,7 +24,7 @@ class DocumentOCRTestCase(BaseTestCase):
|
||||
|
||||
with open(TEST_SMALL_DOCUMENT_PATH) as file_object:
|
||||
self.document = self.document_type.new_document(
|
||||
file_object=File(file_object),
|
||||
file_object=file_object,
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
@@ -32,11 +34,14 @@ class DocumentOCRTestCase(BaseTestCase):
|
||||
|
||||
def test_ocr_language_backends_end(self):
|
||||
content = self.document.pages.first().ocr_content.content
|
||||
|
||||
self.assertTrue('Mayan EDMS Documentation' in content)
|
||||
|
||||
|
||||
class GermanOCRSupportTestCase(BaseTestCase):
|
||||
# PyOCR's leak descriptor in get_available_languages and image_to_string
|
||||
# Disable descriptor leak test until fixed in upstream
|
||||
_skip_file_descriptor_test = True
|
||||
|
||||
def setUp(self):
|
||||
super(GermanOCRSupportTestCase, self).setUp()
|
||||
|
||||
@@ -54,7 +59,7 @@ class GermanOCRSupportTestCase(BaseTestCase):
|
||||
|
||||
with open(TEST_DEU_DOCUMENT_PATH) as file_object:
|
||||
self.document = self.document_type.new_document(
|
||||
file_object=File(file_object), language=language_code
|
||||
file_object=file_object, language=language_code
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
|
||||
@@ -3,8 +3,8 @@ from __future__ import unicode_literals
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.models import Group
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.test import TestCase
|
||||
|
||||
from common.tests import BaseTestCase
|
||||
from user_management.tests import TEST_GROUP, TEST_USER_USERNAME
|
||||
|
||||
from ..classes import Permission
|
||||
@@ -14,14 +14,14 @@ from ..permissions import permission_role_view
|
||||
from .literals import TEST_ROLE_LABEL
|
||||
|
||||
|
||||
class PermissionTestCase(TestCase):
|
||||
class PermissionTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(PermissionTestCase, self).setUp()
|
||||
self.user = get_user_model().objects.create(
|
||||
username=TEST_USER_USERNAME
|
||||
)
|
||||
self.group = Group.objects.create(name=TEST_GROUP)
|
||||
self.role = Role.objects.create(label=TEST_ROLE_LABEL)
|
||||
Permission.invalidate_cache()
|
||||
|
||||
def test_no_permissions(self):
|
||||
with self.assertRaises(PermissionDenied):
|
||||
|
||||
@@ -3,8 +3,8 @@ from __future__ import unicode_literals
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.test.client import Client
|
||||
from django.test import TestCase
|
||||
|
||||
from common.tests import BaseTestCase
|
||||
from user_management.tests import (
|
||||
TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_ADMIN_EMAIL
|
||||
)
|
||||
@@ -14,8 +14,9 @@ from ..models import Role
|
||||
from .literals import TEST_ROLE_LABEL, TEST_ROLE_LABEL_EDITED
|
||||
|
||||
|
||||
class PermissionsViewsTestCase(TestCase):
|
||||
class PermissionsViewsTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(PermissionsViewsTestCase, self).setUp()
|
||||
self.admin_user = get_user_model().objects.create_superuser(
|
||||
username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL,
|
||||
password=TEST_ADMIN_PASSWORD
|
||||
|
||||
@@ -14,6 +14,7 @@ class SmartSettingsApp(MayanAppConfig):
|
||||
app_namespace = 'settings'
|
||||
app_url = 'settings'
|
||||
name = 'smart_settings'
|
||||
test = True
|
||||
verbose_name = _('Smart settings')
|
||||
|
||||
def ready(self):
|
||||
|
||||
@@ -1,63 +1,32 @@
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.models import Group
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.test.client import Client
|
||||
from django.test import TestCase
|
||||
|
||||
from permissions.classes import Permission
|
||||
from permissions.models import Role
|
||||
from permissions.tests import TEST_ROLE
|
||||
from common.tests.test_views import GenericViewTestCase
|
||||
|
||||
from ..permissions import permission_settings_view
|
||||
|
||||
TEST_EMAIL = 'test_user@example.com'
|
||||
TEST_GROUP = 'test group'
|
||||
TEST_PASSWORD = 'testuserpassword'
|
||||
TEST_USERNAME = 'test_user'
|
||||
|
||||
|
||||
class SmartSettingViewPermissionsTestCase(TestCase):
|
||||
class SmartSettingViewPermissionsTestCase(GenericViewTestCase):
|
||||
def setUp(self):
|
||||
self.user = get_user_model().objects.create_user(
|
||||
username=TEST_USERNAME, email=TEST_EMAIL,
|
||||
password=TEST_PASSWORD
|
||||
)
|
||||
self.group = Group.objects.create(name=TEST_GROUP)
|
||||
self.role = Role.objects.create(label=TEST_ROLE)
|
||||
|
||||
self.group.user_set.add(self.user)
|
||||
self.role.groups.add(self.group)
|
||||
|
||||
Permission.invalidate_cache()
|
||||
|
||||
self.client = Client()
|
||||
self.client.login(
|
||||
username=TEST_USERNAME, password=TEST_PASSWORD
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
self.group.delete()
|
||||
self.role.delete()
|
||||
self.user.delete()
|
||||
super(SmartSettingViewPermissionsTestCase, self).setUp()
|
||||
self.login_user()
|
||||
|
||||
def test_view_access_denied(self):
|
||||
response = self.client.get(reverse('settings:namespace_list'))
|
||||
response = self.get('settings:namespace_list')
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
response = self.client.get(
|
||||
reverse('settings:namespace_detail', args=('common',),)
|
||||
response = self.get(
|
||||
'settings:namespace_detail', args=('common',)
|
||||
)
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
def test_view_access_permitted(self):
|
||||
self.role.permissions.add(permission_settings_view.stored_permission)
|
||||
self.grant(permission_settings_view)
|
||||
|
||||
response = self.client.get(reverse('settings:namespace_list'))
|
||||
response = self.get('settings:namespace_list')
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
response = self.client.get(
|
||||
reverse('settings:namespace_detail', args=('common',),)
|
||||
response = self.get(
|
||||
'settings:namespace_detail', args=('common',)
|
||||
)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
@@ -3,15 +3,14 @@ from __future__ import unicode_literals
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from documents.tests import TEST_NON_ASCII_DOCUMENT_PATH
|
||||
from common.tests import BaseTestCase
|
||||
from common.utils import mkdtemp
|
||||
from documents.tests import TEST_NON_ASCII_DOCUMENT_PATH
|
||||
|
||||
from ..classes import StagingFile
|
||||
|
||||
|
||||
class StagingFileTestCase(TestCase):
|
||||
class StagingFileTestCase(BaseTestCase):
|
||||
def test_unicode_staging_file(self):
|
||||
temporary_directory = mkdtemp()
|
||||
shutil.copy(TEST_NON_ASCII_DOCUMENT_PATH, temporary_directory)
|
||||
|
||||
@@ -30,7 +30,7 @@ class UploadDocumentTestCase(BaseTestCase):
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
super(UploadDocumentTestCase).setUp()
|
||||
super(UploadDocumentTestCase, self).setUp()
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
@@ -42,10 +42,9 @@ class UploadDocumentTestCase(BaseTestCase):
|
||||
self.client = Client()
|
||||
|
||||
def tearDown(self):
|
||||
super(UploadDocumentTestCase).tearDown()
|
||||
|
||||
self.document_type.delete()
|
||||
self.admin_user.delete()
|
||||
super(UploadDocumentTestCase, self).tearDown()
|
||||
|
||||
def test_issue_gh_163(self):
|
||||
"""
|
||||
@@ -97,14 +96,16 @@ class UploadDocumentTestCase(BaseTestCase):
|
||||
|
||||
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class CompressedUploadsTestCase(TestCase):
|
||||
class CompressedUploadsTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(CompressedUploadsTestCase, self).setUp()
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
self.document_type.delete()
|
||||
super(CompressedUploadsTestCase, self).tearDown()
|
||||
|
||||
def test_upload_compressed_file(self):
|
||||
source = WebFormSource(
|
||||
|
||||
@@ -22,7 +22,6 @@ from documents.tests import (
|
||||
from documents.tests.test_views import GenericDocumentViewTestCase
|
||||
from user_management.tests import (
|
||||
TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME,
|
||||
TEST_USER_PASSWORD, TEST_USER_USERNAME
|
||||
)
|
||||
from ..links import link_upload_version
|
||||
from ..literals import SOURCE_CHOICE_WEB_FORM
|
||||
@@ -48,9 +47,7 @@ class DocumentUploadTestCase(GenericDocumentViewTestCase):
|
||||
self.document.delete()
|
||||
|
||||
def test_upload_wizard_without_permission(self):
|
||||
self.client.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
with open(TEST_DOCUMENT_PATH) as file_object:
|
||||
response = self.client.post(
|
||||
@@ -66,13 +63,9 @@ class DocumentUploadTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(Document.objects.count(), 0)
|
||||
|
||||
def test_upload_wizard_with_permission(self):
|
||||
self.client.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_document_create.stored_permission
|
||||
)
|
||||
self.grant(permission_document_create)
|
||||
|
||||
with open(TEST_DOCUMENT_PATH) as file_object:
|
||||
response = self.client.post(
|
||||
@@ -93,9 +86,7 @@ class DocumentUploadTestCase(GenericDocumentViewTestCase):
|
||||
permssion for the document type to the user
|
||||
"""
|
||||
|
||||
self.client.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
# Create an access control entry giving the role the document
|
||||
# create permission for the selected document type.
|
||||
@@ -133,8 +124,8 @@ class DocumentUploadIssueTestCase(BaseTestCase):
|
||||
self.client = Client()
|
||||
|
||||
def tearDown(self):
|
||||
super(DocumentUploadIssueTestCase, self).tearDown()
|
||||
self.document_type.delete()
|
||||
super(DocumentUploadIssueTestCase, self).tearDown()
|
||||
|
||||
def test_issue_25(self):
|
||||
# Login the admin user
|
||||
@@ -198,9 +189,7 @@ class NewDocumentVersionViewTestCase(GenericDocumentViewTestCase):
|
||||
- Upload version view should reject request
|
||||
"""
|
||||
|
||||
self.login(
|
||||
username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD
|
||||
)
|
||||
self.login_admin_user()
|
||||
|
||||
NewVersionBlock.objects.block(self.document)
|
||||
|
||||
@@ -239,9 +228,7 @@ class StagingFolderTestCase(GenericViewTestCase):
|
||||
super(StagingFolderTestCase, self).tearDown()
|
||||
|
||||
def test_staging_folder_delete_no_permission(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
staging_folder = StagingFolderSource.objects.create(
|
||||
label=TEST_SOURCE_LABEL,
|
||||
@@ -264,13 +251,9 @@ class StagingFolderTestCase(GenericViewTestCase):
|
||||
self.assertEqual(len(list(staging_folder.get_files())), 1)
|
||||
|
||||
def test_staging_folder_delete_with_permission(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_staging_file_delete.stored_permission
|
||||
)
|
||||
self.grant(permission_staging_file_delete)
|
||||
|
||||
staging_folder = StagingFolderSource.objects.create(
|
||||
label=TEST_SOURCE_LABEL,
|
||||
@@ -294,49 +277,37 @@ class StagingFolderTestCase(GenericViewTestCase):
|
||||
|
||||
|
||||
class SourcesTestCase(GenericDocumentViewTestCase):
|
||||
def create_web_source(self):
|
||||
def _create_web_source(self):
|
||||
self.source = WebFormSource.objects.create(
|
||||
enabled=True, label=TEST_SOURCE_LABEL,
|
||||
uncompress=TEST_SOURCE_UNCOMPRESS_N
|
||||
)
|
||||
|
||||
def test_source_list_view_with_permission(self):
|
||||
self.create_web_source()
|
||||
self._create_web_source()
|
||||
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_sources_setup_view.stored_permission
|
||||
)
|
||||
self.grant(permission_sources_setup_view)
|
||||
|
||||
response = self.get(viewname='sources:setup_source_list')
|
||||
|
||||
self.assertContains(response, text=self.source.label, status_code=200)
|
||||
|
||||
def test_source_list_view_no_permission(self):
|
||||
self.create_web_source()
|
||||
self._create_web_source()
|
||||
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
response = self.get(viewname='sources:setup_source_list')
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
def test_source_create_view_with_permission(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_sources_setup_create.stored_permission
|
||||
)
|
||||
self.role.permissions.add(
|
||||
permission_sources_setup_view.stored_permission
|
||||
)
|
||||
self.grant(permission_sources_setup_create)
|
||||
self.grant(permission_sources_setup_view)
|
||||
|
||||
response = self.post(
|
||||
args=(SOURCE_CHOICE_WEB_FORM,), follow=True,
|
||||
@@ -354,13 +325,9 @@ class SourcesTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEquals(response.status_code, 200)
|
||||
|
||||
def test_source_create_view_no_permission(self):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_sources_setup_view.stored_permission
|
||||
)
|
||||
self.grant(permission_sources_setup_view)
|
||||
|
||||
response = self.post(
|
||||
args=(SOURCE_CHOICE_WEB_FORM,), follow=True,
|
||||
@@ -374,18 +341,12 @@ class SourcesTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(WebFormSource.objects.count(), 0)
|
||||
|
||||
def test_source_delete_view_with_permission(self):
|
||||
self.create_web_source()
|
||||
self._create_web_source()
|
||||
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_sources_setup_delete.stored_permission
|
||||
)
|
||||
self.role.permissions.add(
|
||||
permission_sources_setup_view.stored_permission
|
||||
)
|
||||
self.grant(permission_sources_setup_delete)
|
||||
self.grant(permission_sources_setup_view)
|
||||
|
||||
response = self.post(
|
||||
args=(self.source.pk,), follow=True,
|
||||
@@ -396,15 +357,11 @@ class SourcesTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(WebFormSource.objects.count(), 0)
|
||||
|
||||
def test_source_delete_view_no_permission(self):
|
||||
self.create_web_source()
|
||||
self._create_web_source()
|
||||
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD
|
||||
)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(
|
||||
permission_sources_setup_view.stored_permission
|
||||
)
|
||||
self.grant(permission_sources_setup_view)
|
||||
|
||||
response = self.post(
|
||||
args=(self.source.pk,), follow=True,
|
||||
|
||||
@@ -15,7 +15,7 @@ from .literals import TEST_TAG_COLOR, TEST_TAG_LABEL
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class TagTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(TagTestCase).setUp()
|
||||
super(TagTestCase, self).setUp()
|
||||
self.document_type = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
@@ -26,9 +26,9 @@ class TagTestCase(BaseTestCase):
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
super(TagTestCase).tearDown()
|
||||
self.document.delete()
|
||||
self.document_type.delete()
|
||||
super(TagTestCase, self).tearDown()
|
||||
|
||||
def runTest(self):
|
||||
tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL)
|
||||
|
||||
@@ -2,7 +2,6 @@ from __future__ import unicode_literals
|
||||
|
||||
from documents.permissions import permission_document_view
|
||||
from documents.tests.test_views import GenericDocumentViewTestCase
|
||||
from user_management.tests import TEST_USER_PASSWORD, TEST_USER_USERNAME
|
||||
|
||||
from ..models import Tag
|
||||
from ..permissions import (
|
||||
@@ -25,12 +24,12 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
super(TagViewTestCase, self).tearDown()
|
||||
if self.tag.pk:
|
||||
self.tag.delete()
|
||||
super(TagViewTestCase, self).tearDown()
|
||||
|
||||
def test_tag_create_view_no_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.tag.delete()
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
@@ -46,12 +45,12 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
|
||||
def test_tag_create_view_with_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.tag.delete()
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
|
||||
self.role.permissions.add(permission_tag_create.stored_permission)
|
||||
self.grant(permission_tag_create)
|
||||
|
||||
response = self.post(
|
||||
'tags:tag_create', data={
|
||||
@@ -68,7 +67,7 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(tag.color, TEST_TAG_COLOR)
|
||||
|
||||
def test_tag_delete_view_no_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
|
||||
@@ -80,11 +79,11 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
|
||||
def test_tag_delete_view_with_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
|
||||
self.role.permissions.add(permission_tag_delete.stored_permission)
|
||||
self.grant(permission_tag_delete)
|
||||
|
||||
response = self.post(
|
||||
'tags:tag_delete', args=(self.tag.pk,), follow=True
|
||||
@@ -95,7 +94,7 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
|
||||
def test_tag_multiple_delete_view_no_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
|
||||
@@ -107,11 +106,11 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
|
||||
def test_tag_multiple_delete_view_with_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
|
||||
self.role.permissions.add(permission_tag_delete.stored_permission)
|
||||
self.grant(permission_tag_delete)
|
||||
|
||||
response = self.post(
|
||||
'tags:tag_multiple_delete', data={'id_list': self.tag.pk},
|
||||
@@ -123,7 +122,7 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
|
||||
def test_tag_edit_view_no_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
response = self.post(
|
||||
'tags:tag_edit', args=(self.tag.pk,), data={
|
||||
@@ -137,9 +136,9 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(tag.color, TEST_TAG_COLOR)
|
||||
|
||||
def test_tag_edit_view_with_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.role.permissions.add(permission_tag_edit.stored_permission)
|
||||
self.grant(permission_tag_edit)
|
||||
|
||||
response = self.post(
|
||||
'tags:tag_edit', args=(self.tag.pk,), data={
|
||||
@@ -153,28 +152,31 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(tag.color, TEST_TAG_COLOR_EDITED)
|
||||
|
||||
def test_document_tags_widget_no_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.tag.documents.add(self.document)
|
||||
response = self.get('documents:document_list')
|
||||
self.assertNotContains(response, text=TEST_TAG_LABEL, status_code=200)
|
||||
|
||||
def test_document_tags_widget_with_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.tag.documents.add(self.document)
|
||||
self.role.permissions.add(permission_tag_view.stored_permission)
|
||||
self.role.permissions.add(permission_document_view.stored_permission)
|
||||
|
||||
self.grant(permission_tag_view)
|
||||
self.grant(permission_document_view)
|
||||
|
||||
response = self.get('documents:document_list')
|
||||
|
||||
self.assertContains(response, text=TEST_TAG_LABEL, status_code=200)
|
||||
|
||||
def test_document_attach_tag_view_no_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.assertEqual(self.document.tags.count(), 0)
|
||||
|
||||
self.role.permissions.add(permission_tag_view.stored_permission)
|
||||
self.grant(permission_tag_view)
|
||||
|
||||
response = self.post(
|
||||
'tags:tag_attach', args=(self.document.pk,), data={
|
||||
'tag': self.tag.pk,
|
||||
@@ -188,14 +190,14 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(self.document.tags.count(), 0)
|
||||
|
||||
def test_document_attach_tag_view_with_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.assertEqual(self.document.tags.count(), 0)
|
||||
|
||||
self.role.permissions.add(permission_tag_attach.stored_permission)
|
||||
self.grant(permission_tag_attach)
|
||||
# permission_tag_view is needed because the form filters the
|
||||
# choices
|
||||
self.role.permissions.add(permission_tag_view.stored_permission)
|
||||
self.grant(permission_tag_view)
|
||||
|
||||
response = self.post(
|
||||
'tags:tag_attach', args=(self.document.pk,), data={
|
||||
@@ -211,10 +213,10 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
def test_document_multiple_attach_tag_view_no_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.assertEqual(self.document.tags.count(), 0)
|
||||
self.role.permissions.add(permission_tag_view.stored_permission)
|
||||
self.grant(permission_tag_view)
|
||||
|
||||
response = self.post(
|
||||
'tags:multiple_documents_tag_attach', data={
|
||||
@@ -227,15 +229,15 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(self.document.tags.count(), 0)
|
||||
|
||||
def test_document_multiple_attach_tag_view_with_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.assertEqual(self.document.tags.count(), 0)
|
||||
|
||||
self.role.permissions.add(permission_tag_attach.stored_permission)
|
||||
self.grant(permission_tag_attach)
|
||||
|
||||
# permission_tag_view is needed because the form filters the
|
||||
# choices
|
||||
self.role.permissions.add(permission_tag_view.stored_permission)
|
||||
self.grant(permission_tag_view)
|
||||
|
||||
response = self.post(
|
||||
'tags:multiple_documents_tag_attach', data={
|
||||
@@ -251,11 +253,12 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
def test_single_document_multiple_tag_remove_view_no_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.document.tags.add(self.tag)
|
||||
self.assertQuerysetEqual(self.document.tags.all(), (repr(self.tag),))
|
||||
self.role.permissions.add(permission_tag_view.stored_permission)
|
||||
|
||||
self.grant(permission_tag_view)
|
||||
|
||||
response = self.post(
|
||||
'tags:single_document_multiple_tag_remove',
|
||||
@@ -269,13 +272,13 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertQuerysetEqual(self.document.tags.all(), (repr(self.tag),))
|
||||
|
||||
def test_single_document_multiple_tag_remove_view_with_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.document.tags.add(self.tag)
|
||||
self.assertQuerysetEqual(self.document.tags.all(), (repr(self.tag),))
|
||||
|
||||
self.role.permissions.add(permission_tag_remove.stored_permission)
|
||||
self.role.permissions.add(permission_tag_view.stored_permission)
|
||||
self.grant(permission_tag_remove)
|
||||
self.grant(permission_tag_view)
|
||||
|
||||
response = self.post(
|
||||
'tags:single_document_multiple_tag_remove',
|
||||
@@ -289,11 +292,12 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertEqual(self.document.tags.count(), 0)
|
||||
|
||||
def test_multiple_documents_selection_tag_remove_view_no_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.document.tags.add(self.tag)
|
||||
self.assertQuerysetEqual(self.document.tags.all(), (repr(self.tag),))
|
||||
self.role.permissions.add(permission_tag_view.stored_permission)
|
||||
|
||||
self.grant(permission_tag_view)
|
||||
|
||||
response = self.post(
|
||||
'tags:multiple_documents_selection_tag_remove',
|
||||
@@ -307,13 +311,13 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.assertQuerysetEqual(self.document.tags.all(), (repr(self.tag),))
|
||||
|
||||
def test_multiple_documents_selection_tag_remove_view_with_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
self.document.tags.add(self.tag)
|
||||
self.assertQuerysetEqual(self.document.tags.all(), (repr(self.tag),))
|
||||
|
||||
self.role.permissions.add(permission_tag_remove.stored_permission)
|
||||
self.role.permissions.add(permission_tag_view.stored_permission)
|
||||
self.grant(permission_tag_remove)
|
||||
self.grant(permission_tag_view)
|
||||
|
||||
response = self.post(
|
||||
'tags:multiple_documents_selection_tag_remove',
|
||||
|
||||
@@ -17,9 +17,7 @@ from ..permissions import (
|
||||
permission_user_delete, permission_user_edit, permission_user_view
|
||||
)
|
||||
|
||||
from .literals import (
|
||||
TEST_USER_PASSWORD, TEST_USER_PASSWORD_EDITED, TEST_USER_USERNAME
|
||||
)
|
||||
from .literals import TEST_USER_PASSWORD_EDITED, TEST_USER_USERNAME
|
||||
|
||||
TEST_USER_TO_DELETE_USERNAME = 'user_to_delete'
|
||||
|
||||
@@ -43,10 +41,12 @@ class UserManagementViewTestCase(GenericViewTestCase):
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
self.client.logout()
|
||||
self.client.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD_EDITED
|
||||
)
|
||||
self.logout()
|
||||
|
||||
with self.assertRaises(AssertionError):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD_EDITED
|
||||
)
|
||||
|
||||
response = self.get('common:current_user_details')
|
||||
|
||||
@@ -60,8 +60,8 @@ class UserManagementViewTestCase(GenericViewTestCase):
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
self.client.logout()
|
||||
self.client.login(
|
||||
self.logout()
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD_EDITED
|
||||
)
|
||||
response = self.get('common:current_user_details')
|
||||
@@ -72,8 +72,8 @@ class UserManagementViewTestCase(GenericViewTestCase):
|
||||
return self.post(
|
||||
'user_management:user_multiple_set_password', data={
|
||||
'id_list': self.user.pk,
|
||||
'new_password_1': TEST_USER_PASSWORD_EDITED,
|
||||
'new_password_2': TEST_USER_PASSWORD_EDITED
|
||||
'new_password_1': password,
|
||||
'new_password_2': password
|
||||
}, follow=True
|
||||
)
|
||||
|
||||
@@ -87,9 +87,11 @@ class UserManagementViewTestCase(GenericViewTestCase):
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
self.logout()
|
||||
self.client.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD_EDITED
|
||||
)
|
||||
|
||||
with self.assertRaises(AssertionError):
|
||||
self.login(
|
||||
username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD_EDITED
|
||||
)
|
||||
|
||||
response = self.get('common:current_user_details')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user