Spec-Zone.ru › Falcon 1.4

Тестирование

Справочник

Функциональная тестовая среда для приложений Falcon и самого Falcon.

Модуль тестирования Falcon содержит различные тестовые классы и служебные функции для поддержки функционального тестирования как для приложений, основанных на Falcon, так и для самого фреймворка Falcon.

Тестовая среда поддерживает как unittest, так и pytest:

# -----------------------------------------------------------------
# unittest
# -----------------------------------------------------------------

from falcon import testing
import myapp


class MyTestCase(testing.TestCase):
    def setUp(self):
        super(MyTestCase, self).setUp()

        # Assume the hypothetical `myapp` package has a
        # function called `create()` to initialize and
        # return a `falcon.API` instance.
        self.app = myapp.create()


class TestMyApp(MyTestCase):
    def test_get_message(self):
        doc = {u'message': u'Hello world!'}

        result = self.simulate_get('/messages/42')
        self.assertEqual(result.json, doc)


# -----------------------------------------------------------------
# pytest
# -----------------------------------------------------------------

from falcon import testing
import pytest

import myapp


# Depending on your testing strategy and how your application
# manages state, you may be able to broaden the fixture scope
# beyond the default 'function' scope used in this example.

@pytest.fixture()
def client():
    # Assume the hypothetical `myapp` package has a function called
    # `create()` to initialize and return a `falcon.API` instance.
    return testing.TestClient(myapp.create())


def test_get_message(client):
    doc = {u'message': u'Hello world!'}

    result = client.simulate_get('/messages/42')
    assert result.json == doc
class falcon.testing.Result(iterable, status, headers) [source]

Оборачивает результат имитированного запроса WSGI.

Параметры:
  • iterable (iterable) – Итерируемый объект, возвращающий ноль или более байтовых строк, согласно PEP-3333
  • status (str) – Строка HTTP-статуса, включая код статуса и строку причины
  • headers (list) – Список кортежей (имя_заголовка, значение_заголовка), согласно PEP-3333
status

str – Строка HTTP-статуса, предоставленная в ответе

status_code

int – Кодовая часть строки HTTP-статуса

headers

CaseInsensitiveDict – Словарь, нечувствительный к регистру, содержащий все заголовки в ответе, за исключением куки, которые можно получить через атрибут cookies.

Примечание

В настоящее время не поддерживаются несколько экземпляров одного заголовка в ответе; не определено, какое значение «выиграет» и будет представлено в headers.

cookies

dict – Словарь значений falcon.testing.Cookie, разобранных из ответа по имени.

encoding

str – Кодировка текста тела ответа, или None если кодировка не может быть определена.

content

bytes – Необработанное тело ответа, или bytes если тело ответа было пустым.

text

str – Декодированное тело ответа типа unicode в Python 2.6 и 2.7, и типа str в противном случае. Если тип содержимого не указывает кодировку, используется UTF-8.

json

dict – Десериализованное тело JSON. Вызывает ошибку, если тело пустое или не является JSON.

class falcon.testing.Cookie(morsel) [source]

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

Параметры: morsel – Объект Morsel, из которого извлекаются данные куки.
name

str – Имя куки.

value

str – Значение куки.

expires

datetime.datetime – Метка времени истечения срока действия куки, или None если не указано.

path

str – Префикс пути, к которому ограничена эта куки, или None если не указано.

domain

str – Домен, к которому ограничена эта куки, или None если не указано.

max_age

int – Срок службы куки в секундах, или None если не указано.

secure

bool – Указывает, может ли куки передаваться только по HTTPS.

http_only

bool – Указывает, может ли куки быть включена только в незапрограммированных запросах от клиента.

falcon.testing.simulate_request(app, method='GET', path='/', query_string=None, headers=None, body=None, json=None, file_wrapper=None, wsgierrors=None, params=None, params_csv=True, protocol='http') [source]

Имитирует запрос к приложению WSGI.

Выполняет запрос к приложению WSGI. Использует wsgiref.validate для проверки того, что ответ является корректным WSGI.

Ключевые аргументы:
  • app (callable) – Приложение WSGI, которое нужно вызвать
  • method (str) – HTTP-метод, который нужно использовать в запросе (по умолчанию: ‘GET’)
  • path (str) – Путь URL для запроса (по умолчанию: ‘/’)
  • protocol – Протокол для использования в схеме URL (по умолчанию: ‘http’)
  • params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо str , либо то, что может быть преобразовано в str, или список таких значений. Если list, значение будет преобразовано в строку значений, разделенных запятыми (например, ‘thing=1,2,3’).
  • params_csv (bool) – Установить в False для кодирования значений списка в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделенные запятыми (например, ‘thing=1,2,3’). По умолчанию True.
  • query_string (str) – Необработанная строка запроса для включения в запрос (по умолчанию: None). Если указано, переопределяет params.
  • headers (dict) – Дополнительные заголовки для включения в запрос (по умолчанию: None)
  • body (str) – Строка для отправки в качестве тела запроса. Принимает как байтовые строки, так и строки Unicode (по умолчанию: None). Если предоставлена строка Unicode, она будет закодирована как UTF-8 в запросе.
  • json (JSON serializable) – JSON-документ для сериализации в качестве тела запроса (по умолчанию: None). Если указано, переопределяет body и заголовок Content-Type в headers.
  • file_wrapper (callable) – Вызываемый объект, который возвращает итерируемый объект, используемый в качестве значения для wsgi.file_wrapper в environ (по умолчанию: None). Это можно использовать для тестирования высокопроизводительной передачи файлов, когда resp.stream задан как файлоподобный объект.
  • wsgierrors (io) – Поток, используемый как wsgierrors (по умолчанию sys.stderr)
Возвращает:

Результат запроса

Тип возвращаемого значения:

Result

falcon.testing.simulate_get(app, path, **kwargs) [source]

Имитирует запрос GET к приложению WSGI.

Эквивалентно:

simulate_request(app, 'GET', path, **kwargs)
Параметры:
  • app (callable) – Приложение WSGI, которое нужно вызвать
  • path (str) – Путь URL для запроса
Ключевые аргументы:
  • params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо str или то, что может быть преобразовано в str, или список таких значений. Если значение — list, оно будет преобразовано в строку значений, разделенных запятыми (например, ‘thing=1,2,3’).
  • params_csv (bool) – Установите в False для кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделенные запятыми (например, ‘thing=1,2,3’). По умолчанию True.
  • query_string (str) – Сырая строка запроса, которую нужно включить в запрос (по умолчанию: None). Если указано, переопределяет params.
  • headers (dict) – Дополнительные заголовки, которые нужно включить в запрос (по умолчанию: None)
  • file_wrapper (callable) – Функция, которая возвращает итерируемый объект, используемый в качестве значения для wsgi.file_wrapper в среде (по умолчанию: None). Это может использоваться для тестирования высокопроизводительной передачи файлов, когда resp.stream устанавливается в объект типа файл.
  • protocol – Протокол, который нужно использовать для схемы URL (по умолчанию: ‘http’)
falcon.testing.simulate_head(app, path, **kwargs) [source]

Имитирует запрос HEAD к приложению WSGI.

Эквивалентно:

simulate_request(app, 'HEAD', path, **kwargs)
Параметры:
  • app (callable) – Приложение WSGI, которое нужно вызвать
  • path (str) – Путь URL для запроса
Ключевые аргументы:
  • params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо str или то, что может быть преобразовано в str, или список таких значений. Если значение — list, оно будет преобразовано в строку значений, разделенных запятыми (например, ‘thing=1,2,3’).
  • params_csv (bool) – Установите в False для кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделенные запятыми (например, ‘thing=1,2,3’). По умолчанию True.
  • query_string (str) – Сырая строка запроса, которую нужно включить в запрос (по умолчанию: None). Если указано, переопределяет params.
  • headers (dict) – Дополнительные заголовки, которые нужно включить в запрос (по умолчанию: None)
  • protocol – Протокол, который нужно использовать для схемы URL (по умолчанию: ‘http’)
falcon.testing.simulate_post(app, path, **kwargs) [source]

Имитирует запрос POST к приложению WSGI.

Эквивалентно:

simulate_request(app, 'POST', path, **kwargs)
Параметры:
  • app (callable) – Приложение WSGI, которое нужно вызвать
  • path (str) – Путь URL для запроса
Ключевые аргументы:
  • params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо str или то, что может быть преобразовано в str, или список таких значений. Если значение — list, оно будет преобразовано в строку значений, разделенных запятыми (например, ‘thing=1,2,3’).
  • params_csv (bool) – Установите в False для кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделенные запятыми (например, ‘thing=1,2,3’). По умолчанию True.
  • headers (dict) – Дополнительные заголовки, которые нужно включить в запрос (по умолчанию: None)
  • body (str) – Строка, которая будет отправлена в качестве тела запроса. Принимает как байтовые строки, так и строки Unicode (по умолчанию: None). Если предоставлена строка Unicode, она будет закодирована в UTF-8 в запросе.
  • json (JSON serializable) – JSON-документ для сериализации в качестве тела запроса (по умолчанию: None). Если указано, переопределяет body и заголовок Content-Type в headers.
  • protocol – Протокол, который нужно использовать для схемы URL (по умолчанию: ‘http’)
falcon.testing.simulate_put(app, path, **kwargs) [source]

Имитирует запрос PUT к WSGI-приложению.

Эквивалентно:

simulate_request(app, 'PUT', path, **kwargs)
Параметры:
  • app (callable) – WSGI-приложение, которое нужно вызвать
  • path (str) – Путь к URL для запроса
Ключевые аргументы:
  • params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо str или то, что может быть преобразовано в str, или список таких значений. Если значение — list, оно будет преобразовано в строку значений, разделённых запятыми (например, ‘thing=1,2,3’).
  • params_csv (bool) – Устанавливается в False для кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделённые запятыми (например, ‘thing=1,2,3’). По умолчанию True.
  • headers (dict) – Дополнительные заголовки для включения в запрос (по умолчанию: None)
  • body (str) – Строка, которую нужно отправить в качестве тела запроса. Принимает как байтовые строки, так и строки Unicode (по умолчанию: None). Если предоставлена строка Unicode, она будет закодирована как UTF-8 в запросе.
  • json (JSON serializable) – JSON-документ для сериализации в качестве тела запроса (по умолчанию: None). Если указано, переопределяет body и заголовок Content-Type в headers.
  • protocol – Протокол для использования в схеме URL (по умолчанию: ‘http’)
falcon.testing.simulate_options(app, path, **kwargs) [source]

Имитирует запрос OPTIONS к WSGI-приложению.

Эквивалентно:

simulate_request(app, 'OPTIONS', path, **kwargs)
Параметры:
  • app (callable) – WSGI-приложение, которое нужно вызвать
  • path (str) – Путь к URL для запроса
Ключевые аргументы:
  • params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо str или то, что может быть преобразовано в str, или список таких значений. Если значение — list, оно будет преобразовано в строку значений, разделённых запятыми (например, ‘thing=1,2,3’).
  • params_csv (bool) – Устанавливается в False для кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделённые запятыми (например, ‘thing=1,2,3’). По умолчанию True.
  • headers (dict) – Дополнительные заголовки для включения в запрос (по умолчанию: None)
  • protocol – Протокол для использования в схеме URL (по умолчанию: ‘http’)
falcon.testing.simulate_patch(app, path, **kwargs) [source]

Имитирует запрос PATCH к WSGI-приложению.

Эквивалентно:

simulate_request(app, 'PATCH', path, **kwargs)
Параметры:
  • app (callable) – WSGI-приложение, которое нужно вызвать
  • path (str) – Путь к URL для запроса
Ключевые аргументы:
  • params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо str или то, что может быть преобразовано в str, или список таких значений. Если значение — list, оно будет преобразовано в строку значений, разделённых запятыми (например, ‘thing=1,2,3’).
  • params_csv (bool) – Устанавливается в False для кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделённые запятыми (например, ‘thing=1,2,3’). По умолчанию True.
  • headers (dict) – Дополнительные заголовки для включения в запрос (по умолчанию: None)
  • body (str) – Строка, которую нужно отправить в качестве тела запроса. Принимает как байтовые строки, так и строки Unicode (по умолчанию: None). Если предоставлена строка Unicode, она будет закодирована как UTF-8 в запросе.
  • json (JSON serializable) – JSON-документ для сериализации в качестве тела запроса (по умолчанию: None). Если указано, переопределяет body и заголовок Content-Type в headers.
  • protocol – Протокол для использования в схеме URL (по умолчанию: ‘http’)
falcon.testing.simulate_delete(app, path, **kwargs) [source]

Имитирует запрос DELETE к WSGI-приложению.

Эквивалентно:

simulate_request(app, 'DELETE', path, **kwargs)
Параметры:
  • app (callable) – WSGI-приложение, которое нужно вызвать
  • path (str) – Путь к URL для запроса
Ключевые аргументы:
  • params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо str или то, что может быть преобразовано в str, или список таких значений. Если значение — list, оно будет преобразовано в строку значений, разделённых запятыми (например, ‘thing=1,2,3’).
  • params_csv (bool) – Устанавливается в False для кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделённые запятыми (например, ‘thing=1,2,3’). По умолчанию True.
  • headers (dict) – Дополнительные заголовки для включения в запрос (по умолчанию: None)
  • protocol – Протокол для использования в схеме URL (по умолчанию: ‘http’)
END_OF_DOCUMENT_MARKER
class falcon.testing.TestClient(app, headers=None) [source]

Эмулирует запросы к WSGI-приложению.

Этот класс предоставляет контекстный обёртку для simulate_* тестовых функций Falcon. Он позволяет вам заменить это:

simulate_get(app, '/messages')
simulate_head(app, '/messages')

на это:

client = TestClient(app)
client.simulate_get('/messages')
client.simulate_head('/messages')

Примечание

Все методы вызывают self.simulate_request() для удобного переопределения подготовки запросов дочерними классами.

Параметры: app (callable) – WSGI-приложение, на которое нацелены эмулируемые запросы
Ключевые аргументы:
headers (dict) – Значения по умолчанию для заголовков, которые устанавливаются в каждом запросе (по умолчанию None). Эти значения по умолчанию можно переопределить, передав значения для тех же заголовков одному из simulate_*() методов.
simulate_delete(path='/', **kwargs) [source]

Эмулирует запрос DELETE к WSGI-приложению.

(См. также: falcon.testing.simulate_delete())

simulate_get(path='/', **kwargs) [source]

Эмулирует запрос GET к WSGI-приложению.

(См. также: falcon.testing.simulate_get())

simulate_head(path='/', **kwargs) [source]

Эмулирует запрос HEAD к WSGI-приложению.

(См. также: falcon.testing.simulate_head())

simulate_options(path='/', **kwargs) [source]

Эмулирует запрос OPTIONS к WSGI-приложению.

(См. также: falcon.testing.simulate_options())

simulate_patch(path='/', **kwargs) [source]

Эмулирует запрос PATCH к WSGI-приложению.

(См. также: falcon.testing.simulate_patch())

simulate_post(path='/', **kwargs) [source]

Эмулирует запрос POST к WSGI-приложению.

(См. также: falcon.testing.simulate_post())

simulate_put(path='/', **kwargs) [source]

Эмулирует запрос PUT к WSGI-приложению.

(См. также: falcon.testing.simulate_put())

simulate_request(*args, **kwargs) [source]

Эмулирует запрос к WSGI-приложению.

Обёртка над falcon.testing.simulate_request() для выполнения WSGI-запроса непосредственно к self.app. Эквивалентно:

falcon.testing.simulate_request(self.app, *args, **kwargs)
class falcon.testing.TestCase(methodName='runTest') [source]

Расширяет unittest для поддержки функционального тестирования WSGI.

Примечание

Если доступно, использует testtools вместо unittest.

Этот базовый класс предоставляет дополнительные функции для тестовых случаев в стиле unittest, чтобы помочь эмулировать вызовы WSGI без необходимости запускать реальный веб-сервер. Различные методы эмуляции унаследованы от falcon.testing.TestClient.

Просто наследуйте от этого класса в ваших тестовых классах вместо unittest.TestCase или testtools.TestCase.

app

объект – WSGI-приложение, на которое нацелены эмулируемые запросы (по умолчанию: falcon.API()). При тестировании вашего приложения вам необходимо установить его на ваш собственный экземпляр falcon.API. Например:

from falcon import testing
import myapp


class MyTestCase(testing.TestCase):
    def setUp(self):
        super(MyTestCase, self).setUp()

        # Assume the hypothetical `myapp` package has a
        # function called `create()` to initialize and
        # return a `falcon.API` instance.
        self.app = myapp.create()


class TestMyApp(MyTestCase):
    def test_get_message(self):
        doc = {u'message': u'Hello world!'}

        result = self.simulate_get('/messages/42')
        self.assertEqual(result.json, doc)
api

объект – устаревшее алиас для app

api_class

callable – устаревшая переменная класса; будет удалена в будущей версии.

class falcon.testing.SimpleTestResource(status=None, body=None, json=None, headers=None) [source]

Мок-ресурс для функционального тестирования компонентов фреймворка.

Этот класс реализует простой тестовый ресурс, который можно расширять по мере необходимости для тестирования промежуточного ПО, хуков и самого фреймворка Falcon.

Реализованы только пустые on_get() и on_post() обработчики ответов; при переопределении этих или добавлении дополнительных обработчиков в дочерних классах, их можно декорировать хуком falcon.testing.capture_responder_args() для захвата аргументов req, resp и params, передаваемых обработчику. Обработчики также могут быть декорированы хуком falcon.testing.set_resp_defaults() для установки свойств resp с значениями по умолчанию status, body и header.

Ключевые аргументы:
  • status (str) – Значение по умолчанию для строки статуса в ответах
  • body (str) – Значение по умолчанию для строки тела в ответах
  • json (сериализуемое JSON) – Значение по умолчанию для JSON-документа в ответах. Будет сериализовано в строку и закодировано как UTF-8. Можно указать либо json, либо body, но не оба.
  • headers (dict) – Значения по умолчанию для дополнительных заголовков, которые будут включены в ответы
called

bool – Вызвался ли метод req/resp.

captured_req

falcon.Request – Последний объект Request, переданный в любой из методов обработчика.

captured_resp

falcon.Response – Последний объект Response, переданный в любой из методов обработчика.

captured_kwargs

dict – Последний словарь kwargs, помимо req и resp, переданный в любой из методов обработчика.

END_OF_DOCUMENT_MARKER
class falcon.testing.StartResponseMock [source]

Объект-модель, представляющий вызываемый объект WSGI start_response.

call_count

int – Количество вызовов start_response.

status

str – Строка HTTP-статуса, например, ‘785 TPS Cover Sheet not attached’.

headers

list – Список необработанных заголовков, переданных в start_response, в соответствии с PEP-333.

headers_dict

dict – Заголовки в виде объекта, похожем на dict, а не list.

falcon.testing.capture_responder_args(req, resp, resource, params) [source]

Обработчик для захвата аргументов отвечающего объекта.

Добавляет следующие атрибуты к классу ресурса обработанного объекта:

  • captured_req
  • captured_resp
  • captured_kwargs
falcon.testing.rand_string(min, max) [source]

Возвращает случайную строку случайной длины.

Параметры:
  • min (int) – Минимальная длина возвращаемой строки, включительно
  • max (int) – Максимальная длина возвращаемой строки, включительно
falcon.testing.create_environ(path='/', query_string='', protocol='HTTP/1.1', scheme='http', host='falconframework.org', port=None, headers=None, app='', body='', method='GET', wsgierrors=None, file_wrapper=None) [source]

Создает имитационную среду PEP-333 для моделирования WSGI-запросов.

Ключевые аргументы:
  • path (str) – Путь для запроса (по умолчанию ‘/’)
  • query_string (str) – Строка запроса для имитации без ведущего ‘?’ (по умолчанию ‘’)
  • protocol (str) – Имитируемый HTTP-протокол (по умолчанию ‘HTTP/1.1’). Если установлено ‘HTTP/1.0’, заголовок Host в среду не добавляется.
  • scheme (str) – Схема URL, либо ‘http’, либо ‘https’ (по умолчанию ‘http’)
  • host (str) – Имя хоста для запроса (по умолчанию ‘falconframework.org’)
  • port (str) – TCP-порт для имитации. По умолчанию используется стандартный порт, используемый данной схемой (т.е. 80 для ‘http’ и 443 для ‘https’).
  • headers (dict) – Заголовки в виде dict или итерируемый объект, возвращающий (ключ, значение) tuple
  • app (str) – Значение для переменной среды SCRIPT_NAME, описанной в PEP-333: «Начальная часть пути URL-адреса запроса, соответствующая объекту приложения, таким образом, что приложение знает свое виртуальное «местоположение». Может быть пустой строкой, если приложение соответствует «корню» сервера». (по умолчанию ‘’)
  • body (str) – Тело запроса (по умолчанию ‘’). Принимает как байтовые строки, так и строки Юникода. Строки Юникода кодируются как UTF-8 в запросе.
  • method (str) – HTTP-метод (по умолчанию ‘GET’)
  • wsgierrors (io) – Поток для использования в качестве wsgierrors (по умолчанию sys.stderr)
  • file_wrapper – Вызываемый объект, возвращающий итерируемый объект, используемый как значение для wsgi.file_wrapper в среде.
falcon.testing.redirected(*args, **kwds) [source]

Менеджер контекста для временного перенаправления stdout или stderr

Например:

with redirected(stderr=os.devnull):
…

Устаревшее

class falcon.testing.TestBase(methodName='runTest') [source]

Расширяет unittest для поддержки функциональных тестов WSGI.

Предупреждение

Этот класс устарел и будет удален в будущей версии. Используйте TestCase вместо него.

Примечание

Если доступно, использует testtools вместо unittest.

Этот базовый класс предоставляет дополнительную логику для тестовых случаев в стиле unittest, чтобы помочь смоделировать вызовы WSGI без запуска фактического веб-сервера. Просто наследуйте от этого класса в ваших тестовых классах вместо unittest.TestCase или testtools.TestCase.

api

falcon.API – Экземпляр API, на который будут нацелены при имитации запросов. По умолчанию falcon.API().

srmock

falcon.testing.StartResponseMock – Предоставляет вызываемый объект, имитирующий поведение аргумента start_response, который сервер обычно передаёт в приложение WSGI. Объект-модель собирает различную информацию из ответа приложения на имитируемый запрос.

test_route

str – Простой сгенерированный путь, который тест может использовать для добавления маршрута к API.

api_class

Псевдоним для API

setUp() [source]

Инициализатор, в стиле unittest

simulate_request(path, decode=None, **kwargs) [source]

Имитирует запрос к self.api.

Параметры:

path (str) – Путь для запроса.

Ключевые аргументы:
  • decode (str) – Если установлено кодирование символов, например, ‘utf-8’, simulate_request будет предполагать, что ответ — строка байтов и декодирует её как результат запроса, а не просто возвращает стандартную WSGI-итерируемую последовательность.
  • kwargs (необязательно) – Те же, что и определённые для falcon.testing.create_environ.
srmock_class

Псевдоним для StartResponseMock

tearDown() [source]

Деструктор, в стиле unittest

class falcon.testing.TestResource [source]

Мока ресурс для функционального тестирования.

Предупреждение

Этот класс устарел и будет удалён в будущих релизах. Используйте SimpleTestResource вместо него.

Этот класс реализует on_get обработчик, собирает данные запроса и устанавливает тело и заголовки ответа.

Дочерние классы могут добавлять дополнительные методы и атрибуты по мере необходимости.

sample_status

str – HTTP код статуса для установки в ответе

sample_body

str – Случайная строка тела для установки в ответе

resp_headers

dict – Пример заголовков для использования в ответе

req

falcon.Request – Объект запроса, переданный в on_get обработчик.

resp

falcon.Response – Объект ответа, переданный в on_get обработчик.

kwargs

dict – Аргументы ключевых слов, переданные в on_get обработчик, если таковые имеются.

called

bool – True если on_get был когда-либо вызван; False в противном случае.

on_get(req, resp, **kwargs) [source]

Обработчик GET.

Собирает req, resp, и kwargs. Также настраивает образец ответа.

Параметры:
  • req – Экземпляр Falcon Request.
  • resp – Экземпляр Falcon Response.
  • kwargs – URI-шаблонные пары имя=значение, если таковые имеются, а также любые дополнительные аргументы, введённые посредниками.

© 2012–2017 by Rackspace Hosting, Inc. and other contributors
Licensed under the Apache License, Version 2.0.
https://falcon.readthedocs.io/en/1.4.1/api/testing.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API