Esempio n. 1
0
def register():
    def email_exists(email):
        return db.execute('SELECT id FROM user WHERE email = ?',
                          (email, )).fetchone() is not None

    def register_new_email(email, password, apiKey):
        db.execute(
            'INSERT INTO user (email, password, api_key, curr_num) values (?, ?, ?, ?)',
            (email, generate_password_hash(password), apiKey, 0))
        db.commit()

    email = request.form['email']
    password = request.form['password']
    db = get_db()

    errors = validate_email(email)

    if email_exists(email):
        errors.append('User {} is already registered.'.format(email))
    if not password:
        errors.append('Password is required.')

    if errors:
        return jsonify(errors=errors), 400

    api_key = token_urlsafe()
    register_new_email(email, password, api_key)

    return jsonify(api_key=api_key)
Esempio n. 2
0
    def wrapped_route(**kwargs):

        email = request.headers[EMAIL_HEADER]
        apiKey = request.headers[API_KEY_HEADER]

        errors = validate_email(email)
        if not errors:
            errors = validate_api_key(email, apiKey)
        if errors:
            return jsonify(errors=errors), 400

        return route(**kwargs)
Esempio n. 3
0
def test_validate_email_valid():
    errors = validate_email('*****@*****.**')
    assert not errors
Esempio n. 4
0
def test_validate_email_invalid():
    errors = validate_email('100%AnEmail')
    assert 'Email format is invalid.' in errors
Esempio n. 5
0
def test_validate_email_empty():
    errors = validate_email('')
    assert 'Email is required.' in errors