У меня есть приложение Flask, которое я использую,
Я работаю над проверкой подлинности всего трафика на сервер (за исключением /login
и еще одной конечной точки)
Я реализовал это с помощью @app.before_request
декоратора следующим образом:
@app.before_request
def authenticate():
if any(request.path in s for s in NO_AUTH_ENDPOINTS):
return
# authentication process....
Это работает нормально, но потом, когда я добрался до тестов колб, которые не выполнялись из-за аутентификации, мне не удалось исправить эту функцию, и все тесты продолжают получать неавторизованную ошибку.
Я попробовал следующее:
@patch('authentication.authenticate')
def post(self, body, mock_auth, id=None, token='test_token', **params):
mock_auth.return_value = None
return self.app.post(self._get_url(id, params),
data=json.dumps(body),
follow_redirects=True,
content_type='application/json',
headers={'Token': token})
, а также:
@patch('autoai.server.app.before_request')
def post(self, body, mock_request, id=None, token='test_token', **params):
mock_request.return_value = None
return self.app.post(self._get_url(id, params),
data=json.dumps(body),
follow_redirects=True,
content_type='application/json',
headers={'Token': token})
Я использую flast test_app, чтобы это могло быть связано, но я все еще не могу понять, как правильно исправить это begfore_request (self.app = app.test_client
)