nie można zmienić uprawnień użytkownika podczas unittest w django

W końcu zdecydowałem się zrobić kilka testów dla moich aplikacji, ale utknąłem na testach, jeśli użytkownik może zmienić innego użytkownika (zależy od typu użytkownika - używam reguł django, aby móc logicznie sprawdzać uprawnienia, ale to nie jest ważne)

Oto kod, który mam do tej pory

<code>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))
</code>

Nawet po dodaniu uprawnienia mój użytkownik nadal nie ma uprawnień. Czy to dlatego, że nie wolno mi niczego tworzyć podczas testów (czy to zła praktyka?)? Czy django w jakiś sposób buforuje uprawnienia? Jeśli dodam uprawnienie w setUp, działa, ale chciałem go zmienić podczas tego samego testu (testowanie zi bez pozwolenia).

Z góry dziękuję!

questionAnswers(1)

yourAnswerToTheQuestion