django1.8 アプリで create_user ビューをテストしようとしています。TestCase には次のものがあります。
new_user = User.objects.get(username='test')
basic_user_group = Group.objects.get(name='basic_users')
self.assertIn(basic_user_group, new_user.groups.all()) # passes
print new_user.groups.all()
# [<Group: basic_users>]
print new_user.groups.first().permissions.all()
# [<Permission: foo_app | 'add_bar'>]
print new_user.get_all_permissions()
# set([]) # Why?
self.assertTrue(new_user.has_perm('foo_app.add_bar')) # fails
実際のアプリを使用してユーザーを作成し、シェルを開いて has_perm('foo_app.add_bar') を確認すると、True です。テストで何がうまくいかないのですか?
オブジェクトのアクセス許可に django-guardian を使用しています。私settings.AUTHENTICATION_BACKENDS
は:
(
'guardian.backends.ObjectPermissionBackend',
'django.contrib.auth.backends.ModelBackend',
)