def test_count_user_verify_codes(sample_user): with freeze_time(datetime.utcnow() + timedelta(hours=1)): make_verify_code(sample_user, code_used=True) make_verify_code(sample_user, expiry_age=timedelta(hours=2)) [make_verify_code(sample_user) for i in range(5)] assert count_user_verify_codes(sample_user) == 5
def send_user_2fa_code(user_id, code_type): user_to_send_to = get_user_by_id(user_id=user_id) if (verify_within_time(user_to_send_to, age=timedelta(seconds=10)) >= 1): raise InvalidRequest("Code already sent, wait 10 seconds", status_code=400) if count_user_verify_codes(user_to_send_to) >= current_app.config.get( 'MAX_VERIFY_CODE_COUNT'): # Prevent more than `MAX_VERIFY_CODE_COUNT` active verify codes at a time current_app.logger.warning( 'Too many verify codes created for user {}'.format( user_to_send_to.id)) else: data = request.get_json() if code_type == SMS_TYPE: validate(data, post_send_user_sms_code_schema) send_user_sms_code(user_to_send_to, data) elif code_type == EMAIL_TYPE: validate(data, post_send_user_email_code_schema) send_user_email_code(user_to_send_to, data) else: abort(404) return '{}', 204
def send_user_2fa_code(user_id, code_type): user_to_send_to = get_user_by_id(user_id=user_id) if count_user_verify_codes(user_to_send_to) >= current_app.config.get('MAX_VERIFY_CODE_COUNT'): set_verify_codes_to_used(user_id) data = request.get_json() if code_type == SMS_TYPE: validate(data, post_send_user_sms_code_schema) send_user_sms_code(user_to_send_to, data) elif code_type == EMAIL_TYPE: validate(data, post_send_user_email_code_schema) send_user_email_code(user_to_send_to, data) else: abort(404) return '{}', 204
def send_user_2fa_code(user_id, code_type): user_to_send_to = get_user_by_id(user_id=user_id) if count_user_verify_codes(user_to_send_to) >= current_app.config.get( 'MAX_VERIFY_CODE_COUNT'): # Prevent more than `MAX_VERIFY_CODE_COUNT` active verify codes at a time current_app.logger.warning( 'Too many verify codes created for user {}'.format( user_to_send_to.id)) else: data = request.get_json() if code_type == SMS_TYPE: validate(data, post_send_user_sms_code_schema) send_user_sms_code(user_to_send_to, data) elif code_type == EMAIL_TYPE: validate(data, post_send_user_email_code_schema) send_user_email_code(user_to_send_to, data) else: abort(404) return '{}', 204