From da3df5b878d96ef37dcff1377ccbd097b80776d7 Mon Sep 17 00:00:00 2001 From: Raffaele Salmaso Date: Thu, 29 Dec 2016 18:51:26 +0100 Subject: Fixed #8500 -- Allowed overriding the default admin site instance. --- tests/admin_default_site/__init__.py | 0 tests/admin_default_site/apps.py | 6 ++++++ tests/admin_default_site/sites.py | 5 +++++ tests/admin_default_site/tests.py | 31 +++++++++++++++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 tests/admin_default_site/__init__.py create mode 100644 tests/admin_default_site/apps.py create mode 100644 tests/admin_default_site/sites.py create mode 100644 tests/admin_default_site/tests.py (limited to 'tests/admin_default_site') diff --git a/tests/admin_default_site/__init__.py b/tests/admin_default_site/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/admin_default_site/apps.py b/tests/admin_default_site/apps.py new file mode 100644 index 0000000000..92743c18d4 --- /dev/null +++ b/tests/admin_default_site/apps.py @@ -0,0 +1,6 @@ +from django.contrib.admin.apps import SimpleAdminConfig + + +class MyCustomAdminConfig(SimpleAdminConfig): + verbose_name = 'My custom default admin site.' + default_site = 'admin_default_site.sites.CustomAdminSite' diff --git a/tests/admin_default_site/sites.py b/tests/admin_default_site/sites.py new file mode 100644 index 0000000000..f2c33bd790 --- /dev/null +++ b/tests/admin_default_site/sites.py @@ -0,0 +1,5 @@ +from django.contrib import admin + + +class CustomAdminSite(admin.AdminSite): + pass diff --git a/tests/admin_default_site/tests.py b/tests/admin_default_site/tests.py new file mode 100644 index 0000000000..5d05ec9c45 --- /dev/null +++ b/tests/admin_default_site/tests.py @@ -0,0 +1,31 @@ +from django.contrib import admin +from django.contrib.admin import sites +from django.test import SimpleTestCase, override_settings + + +@override_settings(INSTALLED_APPS=[ + 'admin_default_site.apps.MyCustomAdminConfig', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', +]) +class CustomAdminSiteTests(SimpleTestCase): + + def setUp(self): + # Reset admin.site since it may have already been instantiated by + # another test app. + self._old_site = admin.site + admin.site = sites.site = sites.DefaultAdminSite() + + def tearDown(self): + admin.site = sites.site = self._old_site + + def test_use_custom_admin_site(self): + self.assertEqual(admin.site.__class__.__name__, 'CustomAdminSite') + + +class DefaultAdminSiteTests(SimpleTestCase): + def test_use_default_admin_site(self): + self.assertEqual(admin.site.__class__.__name__, 'AdminSite') -- cgit v1.3