def test_str_generator(): """Method to test str_generator.""" generated_string = str_generator() assert len(generated_string) == 6 assert re.match(r'^[A-Z0-9]+$', generated_string) is not None assert re.match(r'^[a-z]+$', generated_string) is None generated_string = str_generator(8, chars=string.ascii_lowercase) assert len(generated_string) == 8 assert re.match(r'^[A-Z0-9]+$', generated_string) is None assert re.match(r'^[a-z]+$', generated_string) is not None generated_string = str_generator(chars='ABC253') assert re.match(r'^[ABC253]+$', generated_string) is not None
def test_str_generator(self): """Method to test str_generator.""" generated_string = str_generator() self.assertEqual(len(generated_string), 6) self.assertRegex(generated_string, r'^[A-Z0-9]+$') self.assertNotRegex(generated_string, r'^[a-z]+$') generated_string = str_generator(8, chars=string.ascii_lowercase) self.assertEqual(len(generated_string), 8) self.assertRegex(generated_string, r'^[a-z]+$') self.assertNotRegex(generated_string, r'^[A-Z0-9]+$') generated_string = str_generator(chars='ABC253') self.assertRegex(generated_string, r'^[ABC253]+$')
def resend_verification_email(): try: email = request.json['data']['email'] except TypeError: logging.error('Bad Request') raise BadRequestError({'source': ''}, 'Bad Request Error') try: user = User.query.filter_by(email=email).one() except NoResultFound: logging.info('User with email: ' + email + ' not found.') raise UnprocessableEntityError( {'source': ''}, 'User with email: ' + email + ' not found.' ) else: serializer = get_serializer() hash_ = str( base64.b64encode( str(serializer.dumps([user.email, str_generator()])).encode() ), 'utf-8', ) link = make_frontend_url('/verify', {'token': hash_}) send_email_confirmation(user.email, link) logging.info('Verification email resent') return make_response(jsonify(message="Verification email resent"), 200)
def after_create_object(self, user, data, view_kwargs): """ method to send- email notification mail link for register verification add image urls :param user: :param data: :param view_kwargs: :return: """ s = get_serializer() hash = str( base64.b64encode( str(s.dumps([user.email, str_generator()])).encode()), 'utf-8') link = make_frontend_url('/verify'.format(id=user.id), {'token': hash}) send_email_with_action(user, USER_REGISTER_WITH_PASSWORD, app_name=get_settings()['app_name'], email=user.email) send_email_confirmation(user.email, link) if data.get('original_image_url'): try: uploaded_images = create_save_image_sizes( data['original_image_url'], 'speaker-image', user.id) except (urllib.error.HTTPError, urllib.error.URLError): raise UnprocessableEntity( {'source': 'attributes/original-image-url'}, 'Invalid Image URL') uploaded_images['small_image_url'] = uploaded_images[ 'thumbnail_image_url'] del uploaded_images['large_image_url'] self.session.query(User).filter_by( id=user.id).update(uploaded_images)
def after_create_object(self, user, data, view_kwargs): """ method to send- email notification mail link for register verification add image urls :param user: :param data: :param view_kwargs: :return: """ s = get_serializer() hash = str(base64.b64encode(str(s.dumps([user.email, str_generator()])).encode()), 'utf-8') link = make_frontend_url('/verify'.format(id=user.id), {'token': hash}) send_email_with_action(user, USER_REGISTER_WITH_PASSWORD, app_name=get_settings()['app_name'], email=user.email) send_email_confirmation(user.email, link) if data.get('original_image_url'): try: uploaded_images = create_save_image_sizes(data['original_image_url'], 'speaker-image', user.id) except (urllib.error.HTTPError, urllib.error.URLError): raise UnprocessableEntity( {'source': 'attributes/original-image-url'}, 'Invalid Image URL' ) uploaded_images['small_image_url'] = uploaded_images['thumbnail_image_url'] del uploaded_images['large_image_url'] self.session.query(User).filter_by(id=user.id).update(uploaded_images)
def test_str_generator(self): """Method to test str_generator.""" with app.test_request_context(): generated_string = str_generator() self.assertEqual(len(generated_string), 6) self.assertRegex(generated_string, r'^[A-Z0-9]+$') self.assertNotRegex(generated_string, r'^[a-z]+$') generated_string = str_generator(8, chars=string.ascii_lowercase) self.assertEqual(len(generated_string), 8) self.assertRegex(generated_string, r'^[a-z]+$') self.assertNotRegex(generated_string, r'^[A-Z0-9]+$') generated_string = str_generator(chars='ABC253') self.assertRegex(generated_string, r'^[ABC253]+$')
def send_email_change_user_email(user, email): serializer = get_serializer() hash_ = str( base64.b64encode(bytes(serializer.dumps([email, str_generator()]), 'utf-8')), 'utf-8', ) link = make_frontend_url('/email/verify', {'token': hash_}) send_email_with_action(user.email, USER_CONFIRM, email=user.email, link=link) send_email_with_action(email, USER_CHANGE_EMAIL, email=email, new_email=user.email)
def after_create_object(self, user, data, view_kwargs): """ method to send- email notification mail link for register verification add image urls :param user: :param data: :param view_kwargs: :return: """ if user.was_registered_with_order: link = make_frontend_url('/reset-password', {'token': user.reset_password}) send_email_with_action( user, PASSWORD_RESET_AND_VERIFY, app_name=get_settings()['app_name'], email=user.email, link=link, ) else: s = get_serializer() hash = str( base64.b64encode( str(s.dumps([user.email, str_generator()])).encode()), 'utf-8', ) link = make_frontend_url('/verify'.format(id=user.id), {'token': hash}) send_email_with_action( user, USER_REGISTER_WITH_PASSWORD, app_name=get_settings()['app_name'], email=user.email, ) send_email_confirmation(user.email, link) # TODO Handle in a celery task # if data.get('original_image_url'): # try: # uploaded_images = create_save_image_sizes(data['original_image_url'], 'speaker-image', user.id) # except (urllib.error.HTTPError, urllib.error.URLError): # raise UnprocessableEntityError( # {'source': 'attributes/original-image-url'}, 'Invalid Image URL' # ) # uploaded_images['small_image_url'] = uploaded_images['thumbnail_image_url'] # del uploaded_images['large_image_url'] # self.session.query(User).filter_by(id=user.id).update(uploaded_images) if data.get('avatar_url'): start_image_resizing_tasks(user, data['avatar_url'])
def after_create_object(self, user, data, view_kwargs): """ method to send- email notification mail link for register verification add image urls :param user: :param data: :param view_kwargs: :return: """ s = get_serializer() hash = str( base64.b64encode( str(s.dumps([user.email, str_generator()])).encode()), 'utf-8', ) link = make_frontend_url('/verify', {'token': hash}) settings = get_settings() send_email( to=user.email, action=USER_REGISTER, subject=MAILS[USER_REGISTER]['subject'].format( app_name=settings['app_name']), html=render_template( 'email/user_register.html', email=user.email, link=link, settings=get_settings(), ), ) # TODO Handle in a celery task # if data.get('original_image_url'): # try: # uploaded_images = create_save_image_sizes(data['original_image_url'], 'speaker-image', user.id) # except (urllib.error.HTTPError, urllib.error.URLError): # raise UnprocessableEntityError( # {'source': 'attributes/original-image-url'}, 'Invalid Image URL' # ) # uploaded_images['small_image_url'] = uploaded_images['thumbnail_image_url'] # del uploaded_images['large_image_url'] # self.session.query(User).filter_by(id=user.id).update(uploaded_images) if data.get('avatar_url'): start_image_resizing_tasks(user, data['avatar_url'])
def send_user_register_email(user): s = get_serializer() hash = str( base64.b64encode(str(s.dumps([user.email, str_generator()])).encode()), 'utf-8', ) link = make_frontend_url('/verify', {'token': hash}) settings = get_settings() action = MailType.USER_REGISTER mail = MAILS[action] send_email( to=user.email, action=action, subject=mail['subject'].format(app_name=settings['app_name']), html=render_template( mail['template'], email=user.email, link=link, settings=get_settings(), ), )
def send_email_change_user_email(user, email): serializer = get_serializer() hash_ = str( base64.b64encode( bytes(serializer.dumps([email, str_generator()]), 'utf-8')), 'utf-8', ) app_name = get_settings()['app_name'] link = make_frontend_url('/email/verify', {'token': hash_}) send_email_with_action(user.email, MailType.USER_CONFIRM, 'user_confirm', email=user.email, link=link, app_name=app_name) send_email_with_action( email, MailType.USER_CHANGE_EMAIL, 'user_change_email', email=email, new_email=user.email, )
def after_create_object(self, user, data, view_kwargs): """ method to send- email notification mail link for register verification add image urls :param user: :param data: :param view_kwargs: :return: """ s = get_serializer() hash = base64.b64encode(s.dumps([user.email, str_generator()])) link = make_frontend_url('/email/verify'.format(id=user.id), {'token': hash}) send_email_with_action(user, USER_REGISTER_WITH_PASSWORD, app_name=get_settings()['app_name'], email=user.email) send_email_confirmation(user.email, link) if data.get('original_image_url'): uploaded_images = create_save_image_sizes(data['original_image_url'], 'user', user.id) uploaded_images['small_image_url'] = uploaded_images['thumbnail_image_url'] del uploaded_images['large_image_url'] self.session.query(User).filter_by(id=user.id).update(uploaded_images)
def send_email_change_user_email(user, email): serializer = get_serializer() hash_ = str(base64.b64encode(bytes(serializer.dumps([email, str_generator()]), 'utf-8')), 'utf-8') link = make_frontend_url('/email/verify'.format(id=user.id), {'token': hash_}) send_email_with_action(user.email, USER_CONFIRM, email=user.email, link=link) send_email_with_action(email, USER_CHANGE_EMAIL, email=email, new_email=user.email)
def send_email_change_user_email(user, email): s = get_serializer() hash = base64.b64encode(s.dumps([email, str_generator()])) link = make_frontend_url('/email/verify'.format(id=user.id), {'token': hash}) send_email_with_action(user.email, USER_CONFIRM, email=user.email, link=link) send_email_with_action(email, USER_CHANGE_EMAIL, email=email, new_email=user.email)