Подготовка и тестирование#

PrepareOptions#

Поле

Тип

Значение по умолчанию

Назначение

resolve_managed

bool

False

Разрешить авторизацию, зависимости, защиты и ключи

call_options

CallOptions | None

None

Параметры подготовки конкретного вызова

Чистый режим не запускает поставщиков управляемых значений. Если без них запрос нельзя подготовить, PreparationIncompleteError.requirements перечисляет недостающие возможности. Полный режим использует тестовые поставщики, но не отправляет запрос. Его кеш защит отделён от рабочего клиента.

PreparedCall#

.prepare(...) останавливает обычный конвейер перед отправкой и возвращает неизменяемое безопасное представление.

Поле

Тип

Содержимое

method

str

HTTP-метод

url

str

Полный безопасный URL

target

str

Путь и query без источника

query

tuple[PreparedValue, ...]

Параметры query

headers

tuple[PreparedValue, ...]

Заголовки

cookies

tuple[PreparedValue, ...]

Cookies

body

object | None

Семантическое тело или <redacted>

encoded_body

bytes | None

Готовые байты, если тело не секретное и буферизовано

protocol

str

Версия HTTP

Секретные заголовки, cookies, query и тело заменяются на <redacted>. Для секретного тела encoded_body равен None.

Записывающие handlers#

RecordingHandler и AsyncRecordingHandler наследуют Zapros BaseHandler и AsyncBaseHandler. Они сохраняют фактические Request на границе транспорта и возвращают заданный Response.

Член

Контракт

requests

Неизменяемый снимок всех запросов

last_request

Последний запрос; без записей вызывает AssertionError

assert_count(expected)

Проверяет число запросов

assert_request(index=-1, method=None, url=None)

Проверяет метод и URL выбранной записи

close_calls

Число вызовов close() или aclose()

Полный запускаемый пример находится в руководстве по тестированию.

Дальше#