Commit 4aa6c572 authored by Russell Keith-Magee's avatar Russell Keith-Magee
Browse files

Fixed #7583 -- Corrected the testing docs that referred to the defunct headers...

Fixed #7583 -- Corrected the testing docs that referred to the defunct headers attribute of the response. Added a test case to validate (and document) the new behavior. Thanks to Malcolm for the report.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@7900 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent b038abe1
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -600,8 +600,6 @@ Specifically, a ``Response`` object has the following attributes:
                     ``context`` will be a list of ``Context``
                     objects, in the order in which they were rendered.

    ``headers``      The HTTP headers of the response. This is a dictionary.

    ``request``      The request data that stimulated the response.

    ``status_code``  The HTTP status of the response, as an integer. See
@@ -619,6 +617,10 @@ Specifically, a ``Response`` object has the following attributes:
                     which they were rendered.
    ===============  ==========================================================

You can also use dictionary syntax on the response object to query the value
of any settings in the HTTP headers. For example, you could determine the
content type of a response using ``response['Content-Type']``.

.. _RFC2616: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
.. _template inheritance: ../templates/#template-inheritance

+7 −1
Original line number Diff line number Diff line
@@ -71,6 +71,12 @@ class ClientTest(TestCase):
        self.assertEqual(response.template.name, 'POST Template')
        self.failUnless('Data received' in response.content)
    
    def test_response_headers(self):
        "Check the value of HTTP headers returned in a response"
        response = self.client.get("/test_client/header_view/")
        
        self.assertEquals(response['X-DJANGO-TEST'], 'Slartibartfast')
        
    def test_raw_post(self):
        "POST raw data (with a content type) to a view"
        test_doc = """<?xml version="1.0" encoding="utf-8"?><library><book><title>Blink</title><author>Malcolm Gladwell</author></book></library>"""
+1 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import views
urlpatterns = patterns('',
    (r'^get_view/$', views.get_view),
    (r'^post_view/$', views.post_view),
    (r'^header_view/$', views.view_with_header),
    (r'^raw_post_view/$', views.raw_post_view),
    (r'^redirect_view/$', views.redirect_view),
    (r'^permanent_redirect_view/$', redirect_to, { 'url': '/test_client/get_view/' }),
+6 −0
Original line number Diff line number Diff line
@@ -32,6 +32,12 @@ def post_view(request):

    return HttpResponse(t.render(c))

def view_with_header(request):
    "A view that has a custom header"
    response = HttpResponse()
    response['X-DJANGO-TEST'] = 'Slartibartfast'
    return response
        
def raw_post_view(request):
    """A view which expects raw XML to be posted and returns content extracted
    from the XML"""