Как создать HTTP-запрос POST для загрузки файла с помощью WebOb? - PullRequest
3 голосов
/ 28 июля 2011

Я очень хорошо использую WebOb Яна Бикинга при написании тестов веб-приложений на Python.Я вызываю webob.Request.blank('/path...'), а затем использую метод get_response(app) объекта запроса, чтобы вызвать мое веб-приложение.Возвращаемый объект ответа позволяет мне проверять код состояния ответа HTTP, тип содержимого, тело и т. Д.Построить POST-запрос также довольно просто:

Request.blank('/path/under/test/', POST={'query': 'some text'})

Но теперь я натолкнулся на небольшую загадку: мне нужно проверить представление в моем веб-приложении, которое ожидает загрузку файла, и я не могувыяснить, как WebOb представляет этот конкретный вид POST.Кто-нибудь знает, как создать запрос WebOb с одним или несколькими полями загрузки файлов внутри?

Ответы [ 2 ]

5 голосов
/ 04 августа 2011

По состоянию на пару дней назад вы можете сделать:

req = Request.blank('/path/under/test', 
                    POST={'query': 'some text', 'upload': ('filename', 'content')})

Это было внесено в в этом коммите и еще не было выпущено.

1 голос
/ 29 июля 2011

Вы можете использовать WebTest для этого, посмотрите TestApp.post аргументы здесь .

...