本文整理汇总了Python中django.contrib.auth.models.Group.has_perm方法的典型用法代码示例。如果您正苦于以下问题:Python Group.has_perm方法的具体用法?Python Group.has_perm怎么用?Python Group.has_perm使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类django.contrib.auth.models.Group
的用法示例。
在下文中一共展示了Group.has_perm方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: BasicGroupTest
# 需要导入模块: from django.contrib.auth.models import Group [as 别名]
# 或者: from django.contrib.auth.models.Group import has_perm [as 别名]
class BasicGroupTest(TestCase):
"""
Tests for group permissions on models
with no inheritance.
"""
def setUp(self):
self.fido = BasicAnimal(name="fido")
self.fido.save()
self.user1 = User.objects.create_user('testme', '[email protected]', 'testingpw')
self.user1.save()
self.user2 = User.objects.create_user('testme2', '[email protected]', 'testingpw')
self.user2.save()
self.group = Group(name='testgroup')
self.group.save()
def test_basic_group_permissions(self):
self.assertFalse(self.user1.has_perm('pet', self.fido))
self.group.set_perm('pet', self.fido)
self.assertFalse(self.user1.has_perm('pet', self.fido))
self.user1.groups.add(self.group)
self.assertTrue(self.user1.has_perm('pet', self.fido))
self.assertFalse(self.user2.has_perm('pet', self.fido))
self.user2.groups.add(self.group)
self.assertTrue(self.user2.has_perm('pet', self.fido))
self.assertTrue(self.group.has_perm('pet', self.fido))
def test_group_class_permissions(self):
self.assertFalse(self.user1.has_perm('pet', self.fido))
self.assertFalse(self.user2.has_perm('pet', self.fido))
self.group.set_perm('pet', self.fido.__class__)
self.assertFalse(self.user1.has_perm('pet', self.fido))
self.assertFalse(self.user1.has_perm('pet', self.fido.__class__))
self.user1.groups.add(self.group)
self.assertTrue(self.user1.has_perm('pet', self.fido))
self.assertTrue(self.user1.has_perm('pet', self.fido.__class__))
self.assertFalse(self.user2.has_perm('pet', self.fido))
self.assertFalse(self.user2.has_perm('pet', self.fido.__class__))
# test behavior of perm only defined on class
self.assertFalse(self.user1.has_perm('eat', self.fido))
self.assertFalse(self.user1.has_perm('eat', self.fido.__class__))
self.assertFalse(self.user2.has_perm('eat', self.fido))
self.assertFalse(self.user2.has_perm('eat', self.fido.__class__))
self.group.set_perm('eat', self.fido.__class__)
self.assertTrue(self.user1.has_perm('eat', self.fido))
self.assertTrue(self.user1.has_perm('eat', self.fido.__class__))
self.assertFalse(self.user2.has_perm('eat', self.fido))
self.assertFalse(self.user2.has_perm('eat', self.fido.__class__))
示例2: GroupInheritanceTest
# 需要导入模块: from django.contrib.auth.models import Group [as 别名]
# 或者: from django.contrib.auth.models.Group import has_perm [as 别名]
class GroupInheritanceTest(TestCase):
def setUp(self):
self.fido = BasicDog(name="fido", breed="Golden Lab")
self.fido.save()
self.user1 = User.objects.create_user('testme1',
'[email protected]', 'testingpw')
self.user1.save()
self.user2 = User.objects.create_user('testme2',
'[email protected]', 'testingpw')
self.user2.save()
self.group = Group(name='testgroup')
self.group.save()
def test_group_inheritance(self):
self.assertFalse(self.user1.has_perm('pet', self.fido))
self.assertFalse(self.group.has_perm('pet', self.fido))
示例3: test_view_create_data
# 需要导入模块: from django.contrib.auth.models import Group [as 别名]
# 或者: from django.contrib.auth.models.Group import has_perm [as 别名]
def test_view_create_data(self):
url = '/vm/add/%s'
group1 = Group(id=81, name='testing_group2')
group1.save()
cluster1 = Cluster(hostname='test2.example.bak', slug='OSL_TEST2')
cluster1.save()
data = self.data
# Login and grant user.
self.assertTrue(self.c.login(username=self.user.username,
password='secret'))
self.user.grant('create_vm', self.cluster)
self.cluster.set_quota(self.user.get_profile(), dict(ram=1000,
disk=2000,
virtual_cpus=10))
# POST - user authorized for cluster (create_vm)
self.user.grant('create_vm', self.cluster)
data_ = data.copy()
self.assertFalse(VirtualMachine.objects.filter(hostname='new.vm.hostname').exists())
response = self.c.post(url % '', data_, follow=True)
self.assertEqual(200, response.status_code)
self.assertEqual('text/html; charset=utf-8', response['content-type'])
self.assertTemplateUsed(response, 'ganeti/virtual_machine/create_status.html')
new_vm = VirtualMachine.objects.get(hostname='new.vm.hostname')
self.assertEqual(new_vm, response.context['instance'])
self.assertTrue(self.user.has_perm('admin', new_vm))
self.user.revoke_all(self.cluster)
self.user.revoke_all(new_vm)
VirtualMachine.objects.all().delete()
# POST - user authorized for cluster (admin)
self.user.grant('admin', self.cluster)
response = self.c.post(url % '', data, follow=True)
self.assertEqual(200, response.status_code)
self.assertEqual('text/html; charset=utf-8', response['content-type'])
self.assertTemplateUsed(response, 'ganeti/virtual_machine/create_status.html')
new_vm = VirtualMachine.objects.get(hostname='new.vm.hostname')
self.assertEqual(new_vm, response.context['instance'])
self.assertTrue(self.user.has_perm('admin', new_vm))
VirtualMachine.objects.all().delete()
self.user.revoke_all(self.cluster)
self.user.revoke_all(new_vm)
# POST - User attempting to be other user
self.user.grant('admin', self.cluster)
data_ = data.copy()
data_['owner'] = self.user1.get_profile().id
response = self.c.post(url % '', data_)
self.assertEqual(200, response.status_code)
self.assertEqual('text/html; charset=utf-8', response['content-type'])
self.assertTemplateUsed(response, 'ganeti/virtual_machine/create.html')
self.assertFalse(VirtualMachine.objects.filter(hostname='new.vm.hostname').exists())
self.user.revoke_all(self.cluster)
# POST - user authorized for cluster (superuser)
self.user.is_superuser = True
self.user.save()
response = self.c.post(url % '', data, follow=True)
self.assertEqual(200, response.status_code)
self.assertEqual('text/html; charset=utf-8', response['content-type'])
self.assertTemplateUsed(response, 'ganeti/virtual_machine/create_status.html')
new_vm = VirtualMachine.objects.get(hostname='new.vm.hostname')
self.assertEqual(new_vm, response.context['instance'])
self.assertTrue(self.user.has_perm('admin', new_vm))
self.user.revoke_all(new_vm)
VirtualMachine.objects.all().delete()
# POST - ganeti error
self.cluster.rapi.CreateInstance.error = client.GanetiApiError('Testing Error')
response = self.c.post(url % '', data)
self.assertEqual(200, response.status_code)
self.assertEqual('text/html; charset=utf-8', response['content-type'])
self.assertTemplateUsed(response, 'ganeti/virtual_machine/create.html')
self.assertFalse(VirtualMachine.objects.filter(hostname='new.vm.hostname').exists())
self.cluster.rapi.CreateInstance.error = None
# POST - User attempting to be other user (superuser)
data_ = data.copy()
data_['owner'] = self.user1.get_profile().id
response = self.c.post(url % '', data_, follow=True)
self.assertEqual(200, response.status_code)
self.assertEqual('text/html; charset=utf-8', response['content-type'])
self.assertTemplateUsed(response, 'ganeti/virtual_machine/create_status.html')
new_vm = VirtualMachine.objects.get(hostname='new.vm.hostname')
self.assertEqual(new_vm, response.context['instance'])
self.assertTrue(self.user1.has_perm('admin', new_vm))
self.assertEqual([], self.user.get_perms(new_vm))
self.user.revoke_all(new_vm)
self.user1.revoke_all(new_vm)
VirtualMachine.objects.all().delete()
# reset for group owner
self.user.is_superuser = False
self.user.save()
data['owner'] = self.group.organization.id
# POST - user is not member of group
#.........这里部分代码省略.........