示例#1
0
 def test_constructor(self):
     permission_logic = OneselfPermissionLogic()
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertTrue(isinstance(permission_logic, OneselfPermissionLogic))
     self.assertEqual(permission_logic.any_permission, True)
     self.assertEqual(permission_logic.change_permission, True)
     self.assertEqual(permission_logic.delete_permission, True)
示例#2
0
    def create_user(self, username, password):
        user = self.model(username=username)
        user.set_password(password)
        user.save(using=self._db)
        return user

    def create_superuser(self, username, password):
        user = self.create_user(username, password)
        user.is_superuser = True
        user.is_staff = True
        user.save(using=self._db)
        return user


@permission_logic(OneselfPermissionLogic())
@permission_logic(RootBarRolePermissionLogic())
class User(AbstractBaseUser):
    class Meta:
        app_label = 'bars_core'

    username = models.CharField(max_length=128, unique=True)
    firstname = models.CharField(max_length=128, blank=True)
    lastname = models.CharField(max_length=128, blank=True)
    pseudo = models.CharField(max_length=128, blank=True)
    email = models.EmailField(max_length=254, blank=True)

    is_active = models.BooleanField(default=True)
    last_modified = models.DateTimeField(auto_now=True)

    is_superuser = models.BooleanField(default=False)
 def test_has_perm_delete_with_obj(self):
     permission_logic = OneselfPermissionLogic()
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertFalse(
             permission_logic.has_perm(self.user1, self.perm3, self.user2))
 def test_has_perm_delete_without_obj_with_anonymous(self):
     permission_logic = OneselfPermissionLogic()
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertFalse(permission_logic.has_perm(self.anonymous, self.perm3))
 def test_has_perm_change_without_obj(self):
     permission_logic = OneselfPermissionLogic()
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertTrue(permission_logic.has_perm(self.user1, self.perm2))
 def test_has_perm_delete_with_himself_non_any_no_delete(self):
     permission_logic = OneselfPermissionLogic(any_permission=False,
                                              delete_permission=False)
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertFalse(
             permission_logic.has_perm(self.user1, self.perm3, self.user1))
 def test_has_perm_change_with_himself_non_any(self):
     permission_logic = OneselfPermissionLogic(any_permission=False)
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertTrue(
             permission_logic.has_perm(self.user1, self.perm2, self.user1))
 def test_has_perm_delete_with_himself(self):
     permission_logic = OneselfPermissionLogic()
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertTrue(
             permission_logic.has_perm(self.user1, self.perm3, self.user1))
示例#9
0
 def test_has_perm_add_with_obj_with_anonymous(self):
     permission_logic = OneselfPermissionLogic()
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.anonymous, self.perm1, self.user1))
示例#10
0
 def test_has_perm_delete_with_obj(self):
     permission_logic = OneselfPermissionLogic()
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.user1, self.perm3, self.user2))
示例#11
0
 def test_has_perm_change_without_obj(self):
     permission_logic = OneselfPermissionLogic()
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertTrue(permission_logic.has_perm(self.user1, self.perm2))
示例#12
0
 def test_constructor_with_specifying_delete_permission(self):
     permission_logic = OneselfPermissionLogic(delete_permission=False)
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertTrue(isinstance(permission_logic, OneselfPermissionLogic))
     self.assertEqual(permission_logic.delete_permission, False)
示例#13
0
 def test_has_perm_delete_with_himself_non_any_no_delete(self):
     permission_logic = OneselfPermissionLogic(any_permission=False,
                                               delete_permission=False)
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.user1, self.perm3, self.user1))
示例#14
0
 def test_has_perm_change_with_himself_non_any(self):
     permission_logic = OneselfPermissionLogic(any_permission=False)
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertTrue(
         permission_logic.has_perm(self.user1, self.perm2, self.user1))
示例#15
0
 def test_has_perm_delete_with_himself(self):
     permission_logic = OneselfPermissionLogic()
     add_permission_logic(self.user1.__class__, permission_logic)
     self.assertTrue(
         permission_logic.has_perm(self.user1, self.perm3, self.user1))