Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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)