Если вы тестируете свой обработчик, вы, вероятно, уже создаете объект запроса Webob и передаете его своему обработчику, что-то вроде этого:
request = webapp.Request({
"wsgi.input": StringIO.StringIO(),
"METHOD": "POST",
})
response = webapp.Response()
handler = MyHandler()
handler.initialize(request, response)
handler.post()
Загруженные файлы - это cgi.FieldStorage
объекты, ноFieldStorage
не особенно легко проверить.Вместо этого, вероятно, проще всего использовать фальшивый фреймворк (такой как mox), чтобы создать макет, или просто создать прямую подделку:
class FakeFieldStorage(object):
def __init__(self, filename, value):
self.filename = filename
self.value = value
Затем создайте один и добавьте его в объект запроса, прежде чем передатьэто к обработчику:
uploaded_file = FakeFieldStorage("test.txt", "foo")
request.POST['file'] = uploaded_file