0

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',
)
4

1 に答える 1