Как я могу написать тестовый код для метода прерывания с колбой? - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь написать тестовый код для тестирования метода прерывания, но не смог найти решение с его помощью. Как я могу получить доступ к сообщению об ошибке от werkzeug? Кто-нибудь, пожалуйста, подскажите мне советы по решению этой проблемы?

.py код написанный колбой

def check_access_token(func):
  @wraps(func)
    def wrapper(*args, **kwargs):
     ...
        ...
            if not rows_all:
                abort(401, {"error_message": "access token is ineffective."})
             ...
             ...
             ...

тестовый код с pytest

with app.test_request_context(path, method="POST", headers=headers, data=payload) as req:
        def mock():
            return jsonify(["dummy"]), 200
        func = check_access_token(mock)
        import pdb;
        pdb.set_trace()
        ...
        ...
        ...

результат отладки

(Pdb) p func(req.request)
[]
*** werkzeug.exceptions.Unauthorized: 401 Unauthorized: {'error_message': 'access token is ineffective.'}
(Pdb)
...