def bass_boost(): if request.method == 'POST': default_queue = rq.get_queue() default_queue.empty() if 'audio' not in request.files: resp = make_response( jsonify({"success": False, 'message': 'No file part in the request'}), 400) return resp audio_file = request.files['audio'] if audio_file.filename == '': resp = make_response( jsonify({"success": False, 'message': 'No file selected for uploading'}), 400) return resp if audio_file and allowed_file(audio_file.filename): filename = secure_filename(audio_file.filename) upload_dir = current_app.config['AUDIO_UPLOADS'] audio_file.save(upload_dir.joinpath(filename)) job = export_bass_boosted.queue(upload_dir, filename) resp = make_response( jsonify({"success": True, 'message': 'File successfully uploaded'}), 201) resp.set_cookie('FILENAME', filename) resp.set_cookie('JOB_ID', job.id) return resp else: resp = make_response( jsonify( {"success": False, 'message': 'Allowed file types are mp3, aac, wav, flac'}), 400) return resp if request.method == 'GET': print('cookie job id: ', request.cookies.get('JOB_ID')) default_queue = rq.get_queue() print('list of job IDs from the queue: ', default_queue.jobs) job = default_queue.fetch_job(request.cookies.get('JOB_ID')) print('Status: ', job.get_status()) if job.is_finished: try: export_dir = current_app.config["AUDIO_EXPORTS"] file_name = request.cookies.get( 'FILENAME').replace(".mp3", "-export.mp3") return send_from_directory(export_dir, filename=file_name, as_attachment=True) except FileNotFoundError: abort(404) else: resp = make_response(jsonify( {"success": True, 'message': 'Processing'}), 200) return resp
def test_post_invite_user(client, admin, monkeypatch): login(client, admin) monkeypatch.setattr(User, 'generate_confirmation_token', lambda s: 'token') user_role = Role.objects(name='User').first() data = { 'role': str(user_role.id), 'first_name': 'test', 'last_name': 'test', 'email': '*****@*****.**', } assert client.post( url_for('admin.invite_user'), data=data).status_code == 200 new_user = User.objects(email='*****@*****.**').first() assert new_user is not None assert new_user.role == user_role queued_object = rq.get_queue(MessageQueue.email.value).get_kwargs() assert queued_object['recipient'] == data['email'] assert queued_object['user'] == new_user assert queued_object['invite_link'] == url_for( 'account.join_from_invite', user_id=new_user.id, token='token', _external=True)
def test_get_confirm_request(client, admin, monkeypatch): login(client, admin) monkeypatch.setattr(User, 'generate_confirmation_token', lambda s: 'token') assert redirect_to(client.get( url_for('account.confirm_request'))) == real_url('main.index') queued_object = rq.get_queue(MessageQueue.email.value).get_kwargs() assert queued_object['recipient'] == admin.email assert queued_object['user'] == admin assert queued_object['confirm_link'] == url_for( 'account.confirm', token='token', _external=True)
def test_post_reset_password_request_success(client, admin, monkeypatch): login(client, admin) monkeypatch.setattr(User, 'generate_password_reset_token', lambda s: 'token') assert redirect_to( client.post( url_for('account.reset_password_request'), data={'email': admin.email})) == real_url('account.login') queued_object = rq.get_queue(MessageQueue.email.value).get_kwargs() assert queued_object['recipient'] == admin.email assert queued_object['user'] == admin assert queued_object['reset_link'] == url_for( 'account.reset_password', token='token', _external=True)
def test_post_change_email_request_success(client, admin, monkeypatch): login(client, admin) monkeypatch.setattr(User, 'generate_email_change_token', lambda s, e: 'token') data = { 'email': '*****@*****.**', 'password': '******', } assert redirect_to( client.post(url_for('account.change_email_request'), data=data)) == real_url('main.index') admin.reload() queued_object = rq.get_queue(MessageQueue.email.value).get_kwargs() assert queued_object['recipient'] == data['email'] assert queued_object['user'] == admin assert queued_object['change_email_link'] == url_for( 'account.change_email', token='token', _external=True)
def test_post_join_from_invite_failure(client, admin, monkeypatch): new_user = User(email='*****@*****.**') new_user.save() token = new_user.generate_confirmation_token() login(client, admin) assert redirect_to( client.post( url_for( 'account.join_from_invite', user_id=str(new_user.id), token=token))) == real_url('main.index') logout(client) assert client.post( url_for( 'account.join_from_invite', user_id=INVALID_OBJECT_ID, token=token)).status_code == 404 assert redirect_to( client.post( url_for( 'account.join_from_invite', user_id=str(admin.id), token=token))) == real_url('main.index') monkeypatch.setattr(User, 'generate_confirmation_token', lambda s: 'new_token') assert redirect_to( client.post( url_for( 'account.join_from_invite', user_id=str(new_user.id), token='invalid'))) == real_url('main.index') queued_object = rq.get_queue(MessageQueue.email.value).get_kwargs() assert queued_object['recipient'] == new_user.email assert queued_object['user'] == new_user assert queued_object['invite_link'] == url_for( 'account.join_from_invite', user_id=str(new_user.id), token='new_token', _external=True)
def test_post_register(client, monkeypatch): monkeypatch.setattr(User, 'generate_confirmation_token', lambda s: 'token') data = { 'first_name': 'first', 'last_name': 'last', 'email': '*****@*****.**', 'password': '******', 'password2': 't12345', } assert redirect_to(client.post(url_for('account.register'), data=data)) == real_url('main.index') user = User.objects(email=data['email']).first() assert user.first_name == data['first_name'] assert user.last_name == data['last_name'] assert user.verify_password(data['password']) queued_object = rq.get_queue(MessageQueue.email.value).get_kwargs() assert queued_object['recipient'] == data['email'] assert queued_object['user'] == user assert queued_object['confirm_link'] == url_for( 'account.confirm', token='token', _external=True)