def test_lean_engine_error(): err = leancloud.LeanEngineError(233, 'llllleancloud') assert err.code == 233 assert err.message == 'llllleancloud' err = leancloud.LeanEngineError('error messages') assert err.code == 400 assert err.message == 'error messages'
def test_lean_engine_error(): err = leancloud.LeanEngineError(233, "llllleancloud") assert err.code == 233 assert err.message == "llllleancloud" err = leancloud.LeanEngineError("error messages") assert err.code == 400 assert err.message == "error messages"
def dispatch_cloud_hook(class_name, hook_name, params): hook_name = hook_name_mapping[hook_name] + class_name if hook_name not in _cloud_codes: raise NotAcceptable obj = leancloud.Object.create(class_name) obj._finish_fetch(params['object'], True) if '__updateKeys' in params['object']: obj.updated_keys = params['object']['__updateKeys'] logger.info("{0}:{1} is called!".format(class_name, hook_name)) func = _cloud_codes[hook_name] if not func: raise leancloud.LeanEngineError( code=404, message="cloud hook named '{0}' not found.".format(hook_name)) func(obj) if hook_name.startswith('__after'): return {'result': 'ok'} elif hook_name.startswith('__before_delete_for'): return {} else: return obj.dump()
def test_lean_engine_error(): err = leancloud.LeanEngineError(status=404, code=1234567, message="nowhere") assert err.status == 404 assert err.code == 1234567 assert err.message == "nowhere" # backward compatibility tests err = leancloud.LeanEngineError(code=2020, message="eanCloud") assert err.status == 400 assert err.code == 2020 assert err.message == "eanCloud" err = leancloud.LeanEngineError(233, "llllleancloud") assert err.status == 400 assert err.code == 233 assert err.message == "llllleancloud" err = leancloud.LeanEngineError(226, "leancloud") assert err.status == 226 assert err.code == 226 assert err.message == "leancloud" err = leancloud.LeanEngineError("error messages") assert err.status == 400 assert err.code == 400 assert err.message == "error messages" err = leancloud.LeanEngineError() assert err.status == 400 assert err.code == 400 assert err.message == "error"
def dispatch_cloud_hook(_cloud_codes, app_params, class_name, hook_name, params): from .authorization import HOOK_KEY current_hook_key = app_params.get('hook_key') if not current_hook_key or current_hook_key != HOOK_KEY: raise LeanEngineError(code=401, message='Unauthorized.') hook_name = hook_name_mapping[hook_name] + class_name if hook_name not in _cloud_codes: raise NotAcceptable obj = leancloud.Object.create(class_name) obj._update_data(params['object']) if '_updatedKeys' in params['object']: obj.updated_keys = params['object']['_updatedKeys'] if hook_name.startswith('__before'): if obj.has('__before'): obj.set('__before', obj.get('__before')) else: obj.disable_before_hook() elif hook_name.startswith('__after'): if obj.has('__after'): obj.set('__after', obj.get('__after')) else: obj.disable_after_hook() logger.info("{0}:{1} is called!".format(class_name, hook_name)) func = _cloud_codes[hook_name] if not func: raise leancloud.LeanEngineError( code=404, message="cloud hook named '{0}' not found.".format(hook_name)) func(obj) if hook_name.startswith('__after'): return {'result': 'ok'} elif hook_name.startswith('__before_delete_for'): return {} else: return obj.dump()
def likes_must_not_be_negative(a_comment): if 'likes' not in a_comment.get('_updatedKeys'): return if a_comment.get('likes') < 0: raise leancloud.LeanEngineError(message=('likes 属性不支持负数'))
def check_email(user): if 'email' not in user.updated_keys: return if "@example.com" not in user.get('email'): raise leancloud.LeanEngineError(message=('暂不支持该 Email 服务提供商'))