Python 3 Flask Сервер - Как отправить тестовый запрос получения с аутентификацией - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь протестировать Flask страницу входа в серверное приложение, используя базовую c авторизацию.

Моя функция входа определена следующим образом:

def login():
    auth = request.authorization

    if auth and auth.password == app.config['PASSWORD']:
        token = jwt.encode({'user' : auth.username, 
            'exp': datetime.utcnow() + timedelta(hours = 6)}, app.config['SPA_SECRET_KEY'])
        return jsonify({'token' : token.decode('UTF-8')})

    return make_response('Could not verify!', 401, {'WWW-Authenticate' : 'Basic realm = "Login Required:'})

Мой файл pytest определено ниже:

import pytest
import TIM
_app = TIM.create_app(True)

@pytest.fixture
def client(app):
    # Get a test client for your Flask app
    return app.test_client()

@pytest.fixture
def app():
    """Yield your app with its context set up and ready"""

    # Set up: Establish an application context
    ctx = _app.app_context()
    ctx.push()
    yield _app

    # Tear down: run this after the tests are completed
    ctx.pop()

def test_login(client, username, password):
    # DOES NOT WORK
    rv = client.get('/login/', query_string=dict(), follow_redirects=True)

Моя функция test_login не работает, поскольку я не знаю, как отправить аутентификацию с помощью запроса на получение. Я бы предположил, что мне нужно каким-то образом ввести аутентификацию в query_string (это заголовок?), Но я провел некоторое исследование и, похоже, не могу понять, как это сделать. Любая помощь приветствуется!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...