﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
17545	Test raise an error with GZip middleware	renolpilote@…	nobody	"With Gzip middleware and when running a simple view test like this :
{{{
def test_02_auth_non_requis(self):
    self.client.login(username='user1', password='pass1')
    response = self.client.get('/')
    self.assertEqual(response.status_code, 200)
}}}


It raises an 
{{{
AttributeError: 'FakePayload' object has no attribute 'readline'
}}}

Here is the stack :
{{{
======================================================================
ERROR: test_02_auth_non_requis (****.auth.tests.LoginViewTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ""****/auth/tests.py"", line 20, in test_02_auth_non_requis
    response = self.client.get('/')
  File ""/usr/lib/python2.7/site-packages/django/test/client.py"", line 439, in get
    response = super(Client, self).get(path, data=data, **extra)
  File ""/usr/lib/python2.7/site-packages/django/test/client.py"", line 241, in get
    return self.request(**r)
  File ""/usr/lib/python2.7/site-packages/django/core/handlers/base.py"", line 178, in get_response
    response = middleware_method(request, response)
  File ""/usr/lib/python2.7/site-packages/django/middleware/gzip.py"", line 16, in process_response
    if response.status_code != 200 or len(response.content) < 200:
  File ""/usr/lib/python2.7/site-packages/django/http/__init__.py"", line 601, in _get_content
    return smart_str(''.join(self._container), self._charset)
  File ""/usr/lib/python2.7/site-packages/django/http/__init__.py"", line 309, in xreadlines
    buf = self.readline()
  File ""/usr/lib/python2.7/site-packages/django/http/__init__.py"", line 305, in readline
    return self._stream.readline(*args, **kwargs)
AttributeError: 'FakePayload' object has no attribute 'readline'
}}}

All is fine without the Gzip middleware in test environnement or when running django server. So I have to overwrite installed middleware only for tests.

"	Bug	closed	HTTP handling	1.3	Normal	invalid	gzip http	noria	Unreviewed	0	0	0	0	0	0
