Files
mayan-edms/mayan/apps/permissions/test_models.py
2015-07-10 17:19:36 -04:00

33 lines
1.2 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 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.')