wsgi/test/unittest_wsgi.py
author Christophe de Vienne <christophe@unlish.com>
Thu, 24 Jul 2014 20:57:14 +0200
changeset 9940 292f786009ba
parent 9939 46a8ed48636f
child 9941 8dc1c96d29f1
permissions -rw-r--r--
[wsgi] Re-set the request content after calling the inherited constructor. Closes #4191813

import webtest.app
from StringIO import StringIO

from cubicweb.devtools.webtest import CubicWebTestTC

from cubicweb.wsgi.request import CubicWebWsgiRequest


class WSGIAppTC(CubicWebTestTC):
    def test_content_type(self):
        r = webtest.app.TestRequest.blank('/', {'CONTENT_TYPE': 'text/plain'})

        req = CubicWebWsgiRequest(r.environ, self.vreg)

        self.assertEqual('text/plain', req.get_header('Content-Type'))

    def test_content_body(self):
        r = webtest.app.TestRequest.blank('/', {
            'CONTENT_LENGTH': 12,
            'CONTENT_TYPE': 'text/plain',
            'wsgi.input': StringIO('some content')})

        req = CubicWebWsgiRequest(r.environ, self.vreg)

        self.assertEqual('some content', req.content.read())