From 238b4a5df187ea795582200d447d0136eb130921 Mon Sep 17 00:00:00 2001 From: James Tauber Date: Tue, 24 Jun 2014 16:07:40 -0400 Subject: [PATCH] tests for PR 3769 Two out of three fail without PR 3769 but all pass with PR 3769. --- .../courseware/tests/test_favicon.py | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 lms/djangoapps/courseware/tests/test_favicon.py diff --git a/lms/djangoapps/courseware/tests/test_favicon.py b/lms/djangoapps/courseware/tests/test_favicon.py new file mode 100644 index 0000000000..d1c1e0570b --- /dev/null +++ b/lms/djangoapps/courseware/tests/test_favicon.py @@ -0,0 +1,57 @@ +from django.conf import settings +from django.core.urlresolvers import clear_url_caches, resolve + +from django.test import TestCase +from django.test.utils import override_settings + +from mock import patch + +import sys + + +class FaviconTestCase(TestCase): + + def setUp(self): + super(FaviconTestCase, self).setUp() + + def test_favicon_redirect(self): + resp = self.client.get("/favicon.ico") + self.assertEqual(resp.status_code, 301) + self.assertRedirects( + resp, + "/static/images/favicon.ico", + status_code=301, target_status_code=404 # @@@ how to avoid 404? + ) + + @override_settings(FAVICON_PATH="images/foo.ico") + def test_favicon_redirect_with_favicon_path_setting(self): + + # for some reason I had to put this inline rather than just using + # the UrlResetMixin + + urlconf = settings.ROOT_URLCONF + if urlconf in sys.modules: + reload(sys.modules[urlconf]) + clear_url_caches() + resolve("/") + + resp = self.client.get("/favicon.ico") + self.assertEqual(resp.status_code, 301) + self.assertRedirects( + resp, + "/static/images/foo.ico", + status_code=301, target_status_code=404 # @@@ how to avoid 404? + ) + + @patch.dict("django.conf.settings.FEATURES", {"USE_CUSTOM_THEME": True}) + @override_settings(THEME_NAME="bar") + def test_favicon_redirect_with_theme(self): + self.assertEqual(settings.FEATURES["USE_CUSTOM_THEME"], True) + + resp = self.client.get("/favicon.ico") + self.assertEqual(resp.status_code, 301) + self.assertRedirects( + resp, + "/static/images/foo.ico", + status_code=301, target_status_code=404 # @@@ how to avoid 404? + )