This commit is contained in:
Jason Ward 2012-09-20 11:55:38 -04:00
parent ba0d47ac0b
commit 5cdf9f01b0

View file

@ -7,11 +7,13 @@ from authority import permissions
from authority.models import Permission
from authority.exceptions import NotAModel, UnsavedModelInstance
class UserPermission(permissions.BasePermission):
checks = ('browse',)
label = 'user_permission'
authority.register(User, UserPermission)
class BehaviourTest(TestCase):
"""
self.user will be given:
@ -21,7 +23,7 @@ class BehaviourTest(TestCase):
This permissions are given in the test case and not in the fixture, for
later reference.
"""
fixtures = ['tests.json',]
fixtures = ['tests.json']
def setUp(self):
self.user = User.objects.get(username='jezdez')
@ -53,39 +55,44 @@ class BehaviourTest(TestCase):
self.assertFalse(self.check.delete_user())
self.assertTrue(self.check.delete_user(self.user))
class AssignBehaviourTest(TestCase):
"""
self.user will be given:
- permission add_user (test_add),
- permission delete_user for him (test_delete),
- all existing codenames permissions: a/b/c/d (test_all),
"""
fixtures = ['tests.json',]
"""
self.user will be given:
- permission add_user (test_add),
- permission delete_user for him (test_delete),
- all existing codenames permissions: a/b/c/d (test_all),
"""
fixtures = ['tests.json']
def setUp(self):
self.user = User.objects.get(username='jezdez')
self.check = UserPermission(self.user)
def setUp(self):
self.user = User.objects.get(username='jezdez')
self.check = UserPermission(self.user)
def test_add(self):
result = self.check.assign(check='add_user')
def test_add(self):
result = self.check.assign(check='add_user')
self.assertTrue(isinstance(result[0], DjangoPermission))
self.assertTrue(self.check.add_user())
self.assertTrue(isinstance(result[0], DjangoPermission))
self.assertTrue(self.check.add_user())
def test_delete(self):
result = self.check.assign(content_object=self.user, check='delete_user')
def test_delete(self):
result = self.check.assign(
content_object=self.user,
check='delete_user',
)
self.assertTrue(isinstance(result[0], Permission))
self.assertFalse(self.check.delete_user())
self.assertTrue(self.check.delete_user(self.user))
self.assertTrue(isinstance(result[0], Permission))
self.assertFalse(self.check.delete_user())
self.assertTrue(self.check.delete_user(self.user))
def test_all(self):
result = self.check.assign(content_object=self.user)
self.assertTrue(isinstance(result, list))
self.assertTrue(self.check.browse_user(self.user))
self.assertTrue(self.check.delete_user(self.user))
self.assertTrue(self.check.add_user(self.user))
self.assertTrue(self.check.change_user(self.user))
def test_all(self):
result = self.check.assign(content_object=self.user)
self.assertTrue(isinstance(result, list))
self.assertTrue(self.check.browse_user(self.user))
self.assertTrue(self.check.delete_user(self.user))
self.assertTrue(self.check.add_user(self.user))
self.assertTrue(self.check.change_user(self.user))
class GenericAssignBehaviourTest(TestCase):
"""
@ -93,7 +100,7 @@ class GenericAssignBehaviourTest(TestCase):
- permission add (test_add),
- permission delete for him (test_delete),
"""
fixtures = ['tests.json',]
fixtures = ['tests.json']
def setUp(self):
self.user = User.objects.get(username='jezdez')
@ -106,17 +113,23 @@ class GenericAssignBehaviourTest(TestCase):
self.assertTrue(self.check.add_user())
def test_delete(self):
result = self.check.assign(content_object=self.user, check='delete', generic=True)
result = self.check.assign(
content_object=self.user,
check='delete',
generic=True,
)
self.assertTrue(isinstance(result[0], Permission))
self.assertFalse(self.check.delete_user())
self.assertTrue(self.check.delete_user(self.user))
class AssignExceptionsTest(TestCase):
"""
Tests that exceptions are thrown if assign() was called with inconsistent arguments.
Tests that exceptions are thrown if assign() was called with inconsistent
arguments.
"""
fixtures = ['tests.json',]
fixtures = ['tests.json']
def setUp(self):
self.user = User.objects.get(username='jezdez')