Files
mayan-edms/mayan/apps/permissions/test_models.py
2015-07-10 00:38:32 -04:00

37 lines
1.3 KiB
Python

from __future__ import unicode_literals
from django.conf import settings
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.core.exceptions import PermissionDenied
from django.core.files import File
from django.core.urlresolvers import reverse
from django.test.client import Client
from django.test import TestCase
from .classes import Permission
from .models import Role, StoredPermission
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.')