diff --git a/mayan/apps/acls/classes.py b/mayan/apps/acls/classes.py index d07b308aac..d7ffae9b28 100644 --- a/mayan/apps/acls/classes.py +++ b/mayan/apps/acls/classes.py @@ -12,12 +12,6 @@ class ModelPermission(object): _proxies = {} _registry = {} - @classmethod - def clear(cls): - cls._inheritances = {} - cls._proxies = {} - cls._registry = {} - @classmethod def register(cls, model, permissions): from django.contrib.contenttypes.fields import GenericRelation diff --git a/mayan/apps/acls/tests/mixins.py b/mayan/apps/acls/tests/mixins.py index a86ea639c6..7bc0d970c1 100644 --- a/mayan/apps/acls/tests/mixins.py +++ b/mayan/apps/acls/tests/mixins.py @@ -36,9 +36,6 @@ class ACLTestMixin(PermissionTestMixin, RoleTestMixin, TestModelTestMixin): auto_create_test_role = True auto_create_test_object = False - def _clear_model_permissions(self): - ModelPermission.clear() - def _create_test_acl(self): self.test_acl = AccessControlList.objects.create( content_object=self.test_object, role=self.test_role @@ -63,20 +60,23 @@ class ACLTestMixin(PermissionTestMixin, RoleTestMixin, TestModelTestMixin): 'object_id': self.test_object.pk } - def _setup_test_object(self): + def _setup_test_object(self, register_model_permissions=True): self._create_test_model() self._create_test_object() - ModelPermission.register( - model=self.test_object._meta.model, permissions=( - permission_acl_edit, permission_acl_view, + if register_model_permissions: + ModelPermission.register( + model=self.test_object._meta.model, permissions=( + permission_acl_edit, permission_acl_view, + ) ) - ) self._create_test_permission() - ModelPermission.register( - model=self.test_object._meta.model, permissions=( - self.test_permission, + + if register_model_permissions: + ModelPermission.register( + model=self.test_object._meta.model, permissions=( + self.test_permission, + ) ) - ) self._inject_test_object_content_type() diff --git a/mayan/apps/acls/tests/test_views.py b/mayan/apps/acls/tests/test_views.py index 3fc9c63198..ca7884e398 100644 --- a/mayan/apps/acls/tests/test_views.py +++ b/mayan/apps/acls/tests/test_views.py @@ -9,10 +9,6 @@ from .mixins import ACLTestMixin class AccessControlListViewTestCase(ACLTestMixin, GenericViewTestCase): - def setUp(self): - super(AccessControlListViewTestCase, self).setUp() - self._setup_test_object() - def _request_test_acl_create_get_view(self): return self.get( viewname='acls:acl_create', @@ -22,6 +18,8 @@ class AccessControlListViewTestCase(ACLTestMixin, GenericViewTestCase): ) def test_acl_create_get_view_no_permission(self): + self._setup_test_object() + acl_count = AccessControlList.objects.count() response = self._request_test_acl_create_get_view() @@ -30,6 +28,8 @@ class AccessControlListViewTestCase(ACLTestMixin, GenericViewTestCase): self.assertEqual(AccessControlList.objects.count(), acl_count) def test_acl_create_get_view_with_access(self): + self._setup_test_object() + self.grant_access( obj=self.test_object, permission=permission_acl_edit ) @@ -49,6 +49,8 @@ class AccessControlListViewTestCase(ACLTestMixin, GenericViewTestCase): ) def test_acl_create_view_post_no_permission(self): + self._setup_test_object() + acl_count = AccessControlList.objects.count() response = self._request_test_acl_create_post_view() @@ -57,6 +59,8 @@ class AccessControlListViewTestCase(ACLTestMixin, GenericViewTestCase): self.assertEqual(AccessControlList.objects.count(), acl_count) def test_acl_create_view_post_with_access(self): + self._setup_test_object() + self.grant_access( obj=self.test_object, permission=permission_acl_edit ) @@ -73,9 +77,9 @@ class AccessControlListViewTestCase(ACLTestMixin, GenericViewTestCase): Test creating an ACL entry for an object with no model permissions. Result: Should display a blank permissions list (not optgroup) """ - self.grant_permission(permission=permission_acl_edit) + self._setup_test_object(register_model_permissions=False) - self._clear_model_permissions() + self.grant_permission(permission=permission_acl_edit) response = self.post( viewname='acls:acl_create', @@ -90,6 +94,8 @@ class AccessControlListViewTestCase(ACLTestMixin, GenericViewTestCase): self.assertEqual(AccessControlList.objects.count(), 1) def test_acl_list_view_no_permission(self): + self._setup_test_object() + self._create_test_acl() response = self.get( @@ -99,6 +105,8 @@ class AccessControlListViewTestCase(ACLTestMixin, GenericViewTestCase): self.assertEqual(response.status_code, 403) def test_acl_list_view_with_permission(self): + self._setup_test_object() + self.grant_access( obj=self.test_object, permission=permission_acl_view )