def _test_update(self, auth_obj, user_or_group): serializer = self.get_serializer(user_or_group) assign_perm('cloud.create_cloudaccount', auth_obj) instance = { user_or_group: auth_obj, 'permissions': ['create'], } validated_data = { user_or_group: auth_obj, 'permissions': ['admin'], 'model_cls': CloudAccount, } obj = serializer.update(instance, validated_data) self.assertEqual(obj[user_or_group], auth_obj) self.assertEqual(obj['permissions'], ['admin']) true = ['admin'] for perm in CloudAccount._meta.default_permissions: if user_or_group == 'user': has_perm = auth_obj.has_perm('cloud.%s_cloudaccount' % perm) elif user_or_group == 'group': has_perm = group_has_perm(auth_obj, '%s_cloudaccount' % perm) if perm in true: self.assertTrue(has_perm) else: self.assertFalse(has_perm)
def _test_create(self, auth_obj, user_or_group): serializer = self.get_serializer(user_or_group) obj = serializer.create({ user_or_group: auth_obj, 'permissions': ['view'], 'object': self.account }) self.assertEqual(obj[user_or_group], auth_obj) self.assertEqual(obj['permissions'], ['view']) true = ['view'] for perm in CloudAccount._meta.default_permissions: if user_or_group == 'user': has_perm = auth_obj.has_perm('cloud.%s_cloudaccount' % perm, self.account) elif user_or_group == 'group': has_perm = group_has_perm(auth_obj, '%s_cloudaccount' % perm, self.account) if perm in true: self.assertTrue(has_perm) else: self.assertFalse(has_perm)
def _test_create(self, auth_obj, user_or_group): serializer = self.get_serializer(user_or_group) obj = serializer.create({user_or_group: auth_obj, 'permissions': ['create'], 'model_cls': CloudAccount}) self.assertEqual(obj[user_or_group], auth_obj) self.assertEqual(obj['permissions'], ['create']) true = ['create'] for perm in CloudAccount._meta.default_permissions: if user_or_group == 'user': has_perm = auth_obj.has_perm('cloud.%s_cloudaccount' % perm) elif user_or_group == 'group': has_perm = group_has_perm(auth_obj, '%s_cloudaccount' % perm) if perm in true: self.assertTrue(has_perm) else: self.assertFalse(has_perm)