最后,我决定对我的照片进行一些测试,但如果用户能够改变另一个用户(取决于用户的类型——我使用django-rules能够进行逻辑的许可检查,但这不是重要的)我就坐在测试上。
在这方面,我迄今为止已经制定了法典。
class RulesAndPermissionsTests(TestCase):
fixtures = [ auth_no_permissions.json , profiles.json , rules.json ]
def setUp(self):
self.c = Client()
self.user = User.objects.get(username="estagiario")
self.non_staff = User.objects.get(username="fisica")
self.admin = User.objects.get(username="admin")
login = self.c.login(username= estagiario , password= estagiario )
def test_can_change_non_staff_users(self):
self.assertFalse(self.user.has_perm( logical_change_user , self.non_staff.profile)) # can t change non staff users without permission
# now add the permission and test it again
self.user.user_permissions.add(Permission.objects.get(codename= change_user ))
print self.user.get_all_permissions() # prints set([])
self.assertTrue(self.user.has_perm( logical_change_user , self.non_staff.profile))
即使在增加了许可之后,我的使用者仍然没有许可。 这是否是因为我不允许在试验中制造任何东西(这是一种坏的做法?)? 或者,是否允许 d? 如果我增加在规定的许可 当它工作时,我希望在同样的试验中加以改变(在未经许可的情况下进行测试)。
提前感谢!