summaryrefslogtreecommitdiff
path: root/tests/admin_default_site
diff options
context:
space:
mode:
authorRaffaele Salmaso <raffaele@salmaso.org>2016-12-29 18:51:26 +0100
committerTim Graham <timograham@gmail.com>2018-02-03 18:51:10 -0500
commitda3df5b878d96ef37dcff1377ccbd097b80776d7 (patch)
tree2ded9c48939cfbc3922e3600389872b41ef93b6a /tests/admin_default_site
parentd0a42a14c06e033922f6d51e6384cba53be887b6 (diff)
Fixed #8500 -- Allowed overriding the default admin site instance.
Diffstat (limited to 'tests/admin_default_site')
-rw-r--r--tests/admin_default_site/__init__.py0
-rw-r--r--tests/admin_default_site/apps.py6
-rw-r--r--tests/admin_default_site/sites.py5
-rw-r--r--tests/admin_default_site/tests.py31
4 files changed, 42 insertions, 0 deletions
diff --git a/tests/admin_default_site/__init__.py b/tests/admin_default_site/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/admin_default_site/__init__.py
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')