Files
mayan-edms/mayan/apps/permissions/tests/test_models.py
2015-08-18 23:06:26 -04:00

42 lines
1.3 KiB
Python

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 ..classes import Permission
from ..models import Role
from ..permissions import permission_role_view
class PermissionTestCase(TestCase):
def setUp(self):
self.user = get_user_model().objects.create(username='test user')
self.group = Group.objects.create(name='test group')
self.role = Role.objects.create(label='test role')
Permission.invalidate_cache()
def tearDown(self):
self.role.delete()
self.group.delete()
self.user.delete()
def test_no_permissions(self):
with self.assertRaises(PermissionDenied):
Permission.check_permissions(
requester=self.user, permissions=(permission_role_view,)
)
def test_with_permissions(self):
self.group.user_set.add(self.user)
self.role.permissions.add(permission_role_view.stored_permission)
self.role.groups.add(self.group)
try:
Permission.check_permissions(
requester=self.user, permissions=(permission_role_view,)
)
except PermissionDenied:
self.fail('PermissionDenied exception was not expected.')