diff options
author | Jim Xie <jimxie@umich.edu> | 2021-02-03 15:31:20 +0100 |
---|---|---|
committer | Carlton Gibson <carlton@noumenal.es> | 2021-02-04 10:11:58 +0100 |
commit | ce60d28929db9f4bdd0cbdc9652808328ca37d6e (patch) | |
tree | 9e7eccc39e77306b310260534ed32918e7be9c84 /tests/admin_docs | |
parent | e17bdb953a72f1eae76a914a21ce4e83d3e3b608 (diff) | |
download | django-ce60d28929db9f4bdd0cbdc9652808328ca37d6e.tar.gz |
Fixed #31527 -- Allowed admindocs index to handle non-string URLconfs.
Diffstat (limited to 'tests/admin_docs')
-rw-r--r-- | tests/admin_docs/test_views.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/tests/admin_docs/test_views.py b/tests/admin_docs/test_views.py index 47bec73a50..266ee98bf8 100644 --- a/tests/admin_docs/test_views.py +++ b/tests/admin_docs/test_views.py @@ -2,6 +2,7 @@ import sys import unittest from django.conf import settings +from django.contrib import admin from django.contrib.admindocs import utils, views from django.contrib.admindocs.views import get_return_data_type, simplify_regex from django.contrib.sites.models import Site @@ -9,7 +10,8 @@ from django.db import models from django.db.models import fields from django.test import SimpleTestCase, modify_settings, override_settings from django.test.utils import captured_stderr -from django.urls import reverse +from django.urls import include, path, reverse +from django.utils.functional import SimpleLazyObject from .models import Company, Person from .tests import AdminDocsTestCase, TestDataMixin @@ -136,6 +138,21 @@ class AdminDocViewTests(TestDataMixin, AdminDocsTestCase): response = self.client.get(reverse('django-admindocs-views-index')) self.assertContains(response, 'View documentation') + def test_callable_urlconf(self): + """ + Index view should correctly resolve view patterns when ROOT_URLCONF is + not a string. + """ + def urlpatterns(): + return ( + path('admin/doc/', include('django.contrib.admindocs.urls')), + path('admin/', admin.site.urls), + ) + + with self.settings(ROOT_URLCONF=SimpleLazyObject(urlpatterns)): + response = self.client.get(reverse('django-admindocs-views-index')) + self.assertEqual(response.status_code, 200) + @override_settings(TEMPLATES=[{ 'NAME': 'ONE', |