def create_user_code(user, code, code_type): verify_code = VerifyCode(code_type=code_type, expiry_datetime=datetime.utcnow() + timedelta(minutes=30), user=user) verify_code.code = code db.session.add(verify_code) db.session.commit() return verify_code
def create_user_code(user, code, code_type): verify_code = VerifyCode(code_type=code_type, expiry_datetime=datetime.utcnow() + timedelta(hours=1), user=user) verify_code.code = code db.session.add(verify_code) db.session.commit() return verify_code
def test_send_sms_code_returns_204_when_too_many_codes_already_created( client, sample_user, sms_code_template, mocker): for i in range(10): verify_code = VerifyCode( code_type='sms', _code=12345, created_at=datetime.utcnow() - timedelta(minutes=10), expiry_datetime=datetime.utcnow() + timedelta(minutes=40), user=sample_user) db.session.add(verify_code) db.session.commit() assert VerifyCode.query.count() == 10 auth_header = create_authorization_header() mocked = mocker.patch('app.user.rest.create_secret_code', return_value='123456') mocker.patch('app.celery.provider_tasks.deliver_sms.apply_async') resp = client.post(url_for('user.send_user_2fa_code', code_type='sms', user_id=sample_user.id), data=json.dumps({}), headers=[('Content-Type', 'application/json'), auth_header]) assert mocked.call_count == 1 assert resp.status_code == 204 assert VerifyCode.query.count() == 11
def make_verify_code(user, age=timedelta(hours=0), expiry_age=timedelta(0), code="12335", code_used=False): verify_code = VerifyCode( code_type='sms', _code=code, created_at=datetime.utcnow() - age, expiry_datetime=datetime.utcnow() - expiry_age, user=user, code_used=code_used ) db.session.add(verify_code) db.session.commit()
def test_send_sms_code_returns_204_when_too_many_codes_already_created(client, sample_user): for i in range(10): verify_code = VerifyCode( code_type='sms', _code=12345, created_at=datetime.utcnow() - timedelta(minutes=10), expiry_datetime=datetime.utcnow() + timedelta(minutes=40), user=sample_user ) db.session.add(verify_code) db.session.commit() assert VerifyCode.query.count() == 10 auth_header = create_authorization_header() resp = client.post( url_for('user.send_user_2fa_code', code_type='sms', user_id=sample_user.id), data=json.dumps({}), headers=[('Content-Type', 'application/json'), auth_header]) assert resp.status_code == 204 assert VerifyCode.query.count() == 10