mirror of
https://github.com/django/django.git
synced 2025-07-04 09:49:12 +00:00
[1.2.X] Fixed #15111 -- Ensured that the auth, contenttypes and sitemaps tests will run when the sites app isn't installed. Thanks to Waldemar Kornewald for the report and draft patch.
Backport of r15418 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@15419 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
693506609d
commit
6987048561
@ -191,10 +191,13 @@ class LoginTest(AuthViewsTestCase):
|
|||||||
def test_current_site_in_context_after_login(self):
|
def test_current_site_in_context_after_login(self):
|
||||||
response = self.client.get(reverse('django.contrib.auth.views.login'))
|
response = self.client.get(reverse('django.contrib.auth.views.login'))
|
||||||
self.assertEquals(response.status_code, 200)
|
self.assertEquals(response.status_code, 200)
|
||||||
site = Site.objects.get_current()
|
if Site._meta.installed:
|
||||||
self.assertEquals(response.context['site'], site)
|
site = Site.objects.get_current()
|
||||||
self.assertEquals(response.context['site_name'], site.name)
|
self.assertEquals(response.context['site'], site)
|
||||||
self.assert_(isinstance(response.context['form'], AuthenticationForm),
|
self.assertEquals(response.context['site_name'], site.name)
|
||||||
|
else:
|
||||||
|
self.assertTrue(isinstance(response.context['site'], RequestSite))
|
||||||
|
self.assert_(isinstance(response.context['form'], AuthenticationForm),
|
||||||
'Login form is not an AuthenticationForm')
|
'Login form is not an AuthenticationForm')
|
||||||
|
|
||||||
def test_security_check(self, password='password'):
|
def test_security_check(self, password='password'):
|
||||||
@ -236,7 +239,7 @@ class LoginTest(AuthViewsTestCase):
|
|||||||
self.assertEquals(response.status_code, 302)
|
self.assertEquals(response.status_code, 302)
|
||||||
self.assertTrue('/view/?param=%s' % url_ in response['Location'], "/view/?param=%s should be allowed" % url_)
|
self.assertTrue('/view/?param=%s' % url_ in response['Location'], "/view/?param=%s should be allowed" % url_)
|
||||||
|
|
||||||
|
|
||||||
class LogoutTest(AuthViewsTestCase):
|
class LogoutTest(AuthViewsTestCase):
|
||||||
urls = 'django.contrib.auth.tests.urls'
|
urls = 'django.contrib.auth.tests.urls'
|
||||||
|
|
||||||
@ -267,7 +270,7 @@ class LogoutTest(AuthViewsTestCase):
|
|||||||
response = self.client.get('/logout/')
|
response = self.client.get('/logout/')
|
||||||
self.assertTrue('site' in response.context)
|
self.assertTrue('site' in response.context)
|
||||||
|
|
||||||
def test_logout_with_next_page_specified(self):
|
def test_logout_with_next_page_specified(self):
|
||||||
"Logout with next_page option given redirects to specified resource"
|
"Logout with next_page option given redirects to specified resource"
|
||||||
self.login()
|
self.login()
|
||||||
response = self.client.get('/logout/next_page/')
|
response = self.client.get('/logout/next_page/')
|
||||||
|
@ -61,9 +61,11 @@ class ContentTypesTests(TestCase):
|
|||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
user_ct = ContentType.objects.get_for_model(User)
|
user_ct = ContentType.objects.get_for_model(User)
|
||||||
obj = User.objects.create(username="john")
|
obj = User.objects.create(username="john")
|
||||||
Site._meta.installed = True
|
|
||||||
response = shortcut(request, user_ct.id, obj.id)
|
if Site._meta.installed:
|
||||||
self.assertEqual("http://example.com/users/john/", response._headers.get("location")[1])
|
response = shortcut(request, user_ct.id, obj.id)
|
||||||
|
self.assertEqual("http://example.com/users/john/", response._headers.get("location")[1])
|
||||||
|
|
||||||
Site._meta.installed = False
|
Site._meta.installed = False
|
||||||
response = shortcut(request, user_ct.id, obj.id)
|
response = shortcut(request, user_ct.id, obj.id)
|
||||||
self.assertEqual("http://Example.com/users/john/", response._headers.get("location")[1])
|
self.assertEqual("http://Example.com/users/john/", response._headers.get("location")[1])
|
||||||
|
@ -13,6 +13,10 @@ class SitemapTests(TestCase):
|
|||||||
urls = 'django.contrib.sitemaps.tests.urls'
|
urls = 'django.contrib.sitemaps.tests.urls'
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
if Site._meta.installed:
|
||||||
|
self.base_url = 'http://example.com'
|
||||||
|
else:
|
||||||
|
self.base_url = 'http://testserver'
|
||||||
self.old_USE_L10N = settings.USE_L10N
|
self.old_USE_L10N = settings.USE_L10N
|
||||||
self.old_Site_meta_installed = Site._meta.installed
|
self.old_Site_meta_installed = Site._meta.installed
|
||||||
# Create a user that will double as sitemap content
|
# Create a user that will double as sitemap content
|
||||||
@ -29,9 +33,9 @@ class SitemapTests(TestCase):
|
|||||||
# Check for all the important bits:
|
# Check for all the important bits:
|
||||||
self.assertEquals(response.content, """<?xml version="1.0" encoding="UTF-8"?>
|
self.assertEquals(response.content, """<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
<url><loc>http://example.com/location/</loc><lastmod>%s</lastmod><changefreq>never</changefreq><priority>0.5</priority></url>
|
<url><loc>%s/location/</loc><lastmod>%s</lastmod><changefreq>never</changefreq><priority>0.5</priority></url>
|
||||||
</urlset>
|
</urlset>
|
||||||
""" % date.today().strftime('%Y-%m-%d'))
|
""" % (self.base_url, date.today().strftime('%Y-%m-%d')))
|
||||||
|
|
||||||
if settings.USE_I18N:
|
if settings.USE_I18N:
|
||||||
def test_localized_priority(self):
|
def test_localized_priority(self):
|
||||||
@ -55,13 +59,13 @@ class SitemapTests(TestCase):
|
|||||||
|
|
||||||
expected = ''
|
expected = ''
|
||||||
for username in User.objects.values_list("username", flat=True):
|
for username in User.objects.values_list("username", flat=True):
|
||||||
expected += "<url><loc>http://example.com/users/%s/</loc></url>" %username
|
expected += "<url><loc>%s/users/%s/</loc></url>" % (self.base_url, username)
|
||||||
# Check for all the important bits:
|
# Check for all the important bits:
|
||||||
self.assertEquals(response.content, """<?xml version="1.0" encoding="UTF-8"?>
|
self.assertEquals(response.content, """<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
%s
|
%s
|
||||||
</urlset>
|
</urlset>
|
||||||
""" %expected)
|
""" % expected)
|
||||||
|
|
||||||
if "django.contrib.flatpages" in settings.INSTALLED_APPS:
|
if "django.contrib.flatpages" in settings.INSTALLED_APPS:
|
||||||
def test_flatpage_sitemap(self):
|
def test_flatpage_sitemap(self):
|
||||||
@ -89,9 +93,9 @@ class SitemapTests(TestCase):
|
|||||||
private.sites.add(settings.SITE_ID)
|
private.sites.add(settings.SITE_ID)
|
||||||
response = self.client.get('/flatpages/sitemap.xml')
|
response = self.client.get('/flatpages/sitemap.xml')
|
||||||
# Public flatpage should be in the sitemap
|
# Public flatpage should be in the sitemap
|
||||||
self.assertContains(response, '<loc>http://example.com%s</loc>' % public.url)
|
self.assertContains(response, '<loc>http://%s%s</loc>' % (self.base_url, public.url))
|
||||||
# Private flatpage should not be in the sitemap
|
# Private flatpage should not be in the sitemap
|
||||||
self.assertNotContains(response, '<loc>http://example.com%s</loc>' % private.url)
|
self.assertNotContains(response, '<loc>http://%s%s</loc>' % (self.base_url, private.url))
|
||||||
|
|
||||||
def test_requestsite_sitemap(self):
|
def test_requestsite_sitemap(self):
|
||||||
# Make sure hitting the flatpages sitemap without the sites framework
|
# Make sure hitting the flatpages sitemap without the sites framework
|
||||||
@ -106,14 +110,14 @@ class SitemapTests(TestCase):
|
|||||||
</urlset>
|
</urlset>
|
||||||
""" % date.today().strftime('%Y-%m-%d'))
|
""" % date.today().strftime('%Y-%m-%d'))
|
||||||
|
|
||||||
def test_sitemap_get_urls_no_site_1(self):
|
if "django.contrib.sites" in settings.INSTALLED_APPS:
|
||||||
"""
|
def test_sitemap_get_urls_no_site_1(self):
|
||||||
Check we get ImproperlyConfigured if we don't pass a site object to
|
"""
|
||||||
Sitemap.get_urls and no Site objects exist
|
Check we get ImproperlyConfigured if we don't pass a site object to
|
||||||
"""
|
Sitemap.get_urls and no Site objects exist
|
||||||
Site._meta.installed = True
|
"""
|
||||||
Site.objects.all().delete()
|
Site.objects.all().delete()
|
||||||
self.assertRaises(ImproperlyConfigured, Sitemap().get_urls)
|
self.assertRaises(ImproperlyConfigured, Sitemap().get_urls)
|
||||||
|
|
||||||
def test_sitemap_get_urls_no_site_2(self):
|
def test_sitemap_get_urls_no_site_2(self):
|
||||||
"""
|
"""
|
||||||
@ -121,6 +125,5 @@ class SitemapTests(TestCase):
|
|||||||
Sitemap.get_urls if Site objects exists, but the sites framework is not
|
Sitemap.get_urls if Site objects exists, but the sites framework is not
|
||||||
actually installed.
|
actually installed.
|
||||||
"""
|
"""
|
||||||
Site.objects.get_current()
|
|
||||||
Site._meta.installed = False
|
Site._meta.installed = False
|
||||||
self.assertRaises(ImproperlyConfigured, Sitemap().get_urls)
|
self.assertRaises(ImproperlyConfigured, Sitemap().get_urls)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user