Есть ли способ установить значение wsgi.input при тестировании? - PullRequest
1 голос
/ 08 июля 2010

При использовании wsgiref.util.setup_testing_defaults() для настройки WSGI environ возможно ли установить значение wsgi.input, чтобы можно было проверять HTTP-запросы POST?

Исследование значения wsgi.input, созданного setup_testing_defaults(), показывает, что это объект wsgi.validate.InputWrapper с методами read, readline, readlines, input, close и __iter__, но нет записать методы.

Edit:
Я работаю на Python 2.6.1

1 Ответ

3 голосов
/ 08 июля 2010

Согласно спецификации WSGI, wsgi.input - это просто файлоподобный объект. Таким образом, даже если ваша вспомогательная библиотека назначает какой-то странный объект для environ['wsgi.input'], вы можете заменить его на любой файлоподобный объект, какой захотите. В частности, с объектом StringIO:

e = {}
setup_testing_defaults(e)
s = urlencode({'q': 'is there a way to set the value of wsgi input'})
e['wsgi.input'] = StringIO(s)
...