My Django site is set up with some middleware that on each request, checks for a cookie, and if it is not set, forwards the user elsewhere.

I now want to run some tests on the site. This is my code:

def test_contactform(self):
    response = self.client.get('/contact/')
    self.assertEqual(response.status_code, 200)
    print response
    self.assertTrue('Contact me' in response.content)

Unfortunately, this fails with:

Vary: Cookie
Content-Type: text/html; charset=utf-8
Location: http://testserver/ldap/?next=/contact/
Traceback (most recent call last):
  File "tests.py", line 43, in test_contactform
    self.assertEqual(response.status_code, 200)
AssertionError: 302 != 200

Can I either (i) set a cookie on the Django test client (and if so how) or (ii) require the Django test client to follow the redirect and test against the final page?

Edit
Report