From 99b681e227b5b7880d6edd0d8dd670034d431859 Mon Sep 17 00:00:00 2001 From: Unai Zalakain Date: Mon, 28 Oct 2013 15:00:54 +0100 Subject: Fixed #21341 -- Eased https requests with the test client All request methods of ``django.test.client.Client`` receive a ``secure`` argument that defaults to ``False`` indicating whether or not to make the request through https. Thanks Aymeric Augustin for the review. --- tests/test_client/tests.py | 12 ++++++++++++ tests/test_client/views.py | 1 + 2 files changed, 13 insertions(+) (limited to 'tests') diff --git a/tests/test_client/tests.py b/tests/test_client/tests.py index 38a0f38408..a01d1f3845 100644 --- a/tests/test_client/tests.py +++ b/tests/test_client/tests.py @@ -93,6 +93,18 @@ class ClientTest(TestCase): self.assertEqual(response.templates[0].name, "Book template") self.assertEqual(response.content, b"Blink - Malcolm Gladwell") + def test_insecure(self): + "GET a URL through http" + response = self.client.get('/test_client/secure_view/', secure=False) + self.assertFalse(response.test_was_secure_request) + self.assertEqual(response.test_server_port, '80') + + def test_secure(self): + "GET a URL through https" + response = self.client.get('/test_client/secure_view/', secure=True) + self.assertTrue(response.test_was_secure_request) + self.assertEqual(response.test_server_port, '443') + def test_redirect(self): "GET a URL that redirects elsewhere" response = self.client.get('/test_client/redirect_view/') diff --git a/tests/test_client/views.py b/tests/test_client/views.py index 1861e3a591..85aefd47bb 100644 --- a/tests/test_client/views.py +++ b/tests/test_client/views.py @@ -68,6 +68,7 @@ def view_with_secure(request): "A view that indicates if the request was secure" response = HttpResponse() response.test_was_secure_request = request.is_secure() + response.test_server_port = request.META.get('SERVER_PORT', 80) return response def double_redirect_view(request): -- cgit v1.3