Атрибут headers класса TestResponse
Атрибут headers доступен у объекта
TestResponse, который возвращают
тестовые клиенты Flask. Он представляет собой
объект Headers из библиотеки Werkzeug
и хранит все заголовки ответа. Через этот
атрибут можно читать значения заголовков,
проверять их наличие и сравнивать с ожидаемыми
значениями в тестах. Обращение к заголовкам
регистронезависимо, что удобно при написании
проверок.
Синтаксис
response.headers
Пример
Давайте создадим тестовый клиент и посмотрим на заголовки ответа:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
client = app.test_client()
response = client.get('/')
print(response.headers)
Результат выполнения кода:
Headers([('Content-Type', 'text/html; charset=utf-8'), ('Content-Length', '5')])
Пример
Давайте прочитаем конкретный заголовок
Content-Type из ответа:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
client = app.test_client()
response = client.get('/')
res = response.headers['Content-Type']
print(res)
Результат выполнения кода:
"text/html; charset=utf-8"
Пример
Давайте добавим собственный заголовок в обработчике и проверим его в тесте:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
response = make_response('hello')
response.headers['X-Custom'] = 'abcde'
return response
client = app.test_client()
response = client.get('/')
res = response.headers['X-Custom']
print(res)
Результат выполнения кода:
"abcde"
Смотрите также
-
класс
TestResponse,
который представляет тестовый ответ -
атрибут
status_code,
который хранит код состояния ответа -
атрибут
content_type,
который хранит тип содержимого ответа -
метод
get,
который выполняет GET-запрос к приложению