summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2015-02-09 19:20:39 -0500
committerTim Graham <timograham@gmail.com>2015-02-11 11:47:58 -0500
commit36bf6ec9eb8a3ef4e24d3a6374780603f5bbdf97 (patch)
treeaa8433e22b89b76e54d985ce601d03613d0564c3 /django
parenta0553d1a7cb4f5ecca90650ef9ebad4c44cf6b43 (diff)
[1.8.x] Moved contrib.flatpages tests out of contrib.
Backport of d3a725054fa260e84c788b240fd03cbd0ccc1151 from master
Diffstat (limited to 'django')
-rw-r--r--django/contrib/flatpages/fixtures/example_site.json11
-rw-r--r--django/contrib/flatpages/fixtures/sample_flatpages.json63
-rw-r--r--django/contrib/flatpages/tests/__init__.py0
-rw-r--r--django/contrib/flatpages/tests/settings.py11
-rw-r--r--django/contrib/flatpages/tests/templates/404.html1
-rw-r--r--django/contrib/flatpages/tests/templates/flatpages/default.html9
-rw-r--r--django/contrib/flatpages/tests/templates/registration/login.html0
-rw-r--r--django/contrib/flatpages/tests/test_csrf.py75
-rw-r--r--django/contrib/flatpages/tests/test_forms.py98
-rw-r--r--django/contrib/flatpages/tests/test_middleware.py152
-rw-r--r--django/contrib/flatpages/tests/test_models.py22
-rw-r--r--django/contrib/flatpages/tests/test_sitemaps.py33
-rw-r--r--django/contrib/flatpages/tests/test_templatetags.py133
-rw-r--r--django/contrib/flatpages/tests/test_views.py125
-rw-r--r--django/contrib/flatpages/tests/urls.py13
15 files changed, 0 insertions, 746 deletions
diff --git a/django/contrib/flatpages/fixtures/example_site.json b/django/contrib/flatpages/fixtures/example_site.json
deleted file mode 100644
index 71aa84de12..0000000000
--- a/django/contrib/flatpages/fixtures/example_site.json
+++ /dev/null
@@ -1,11 +0,0 @@
-[
- {
- "pk": 1,
- "model": "sites.site",
- "fields": {
- "domain": "example.com",
- "name": "example.com"
- }
- }
-]
-
diff --git a/django/contrib/flatpages/fixtures/sample_flatpages.json b/django/contrib/flatpages/fixtures/sample_flatpages.json
deleted file mode 100644
index 885af1eb60..0000000000
--- a/django/contrib/flatpages/fixtures/sample_flatpages.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "pk": 1,
- "model": "flatpages.flatpage",
- "fields": {
- "registration_required": false,
- "title": "A Flatpage",
- "url": "/flatpage/",
- "template_name": "",
- "sites": [
- 1
- ],
- "content": "Isn't it flat!",
- "enable_comments": false
- }
- },
- {
- "pk": 2,
- "model": "flatpages.flatpage",
- "fields": {
- "registration_required": false,
- "title": "A Nested Flatpage",
- "url": "/location/flatpage/",
- "template_name": "",
- "sites": [
- 1
- ],
- "content": "Isn't it flat and deep!",
- "enable_comments": false
- }
- },
-
- {
- "pk": 101,
- "model": "flatpages.flatpage",
- "fields": {
- "registration_required": true,
- "title": "Sekrit Flatpage",
- "url": "/sekrit/",
- "template_name": "",
- "sites": [
- 1
- ],
- "content": "Isn't it sekrit!",
- "enable_comments": false
- }
- },
- {
- "pk": 102,
- "model": "flatpages.flatpage",
- "fields": {
- "registration_required": true,
- "title": "Sekrit Nested Flatpage",
- "url": "/location/sekrit/",
- "template_name": "",
- "sites": [
- 1
- ],
- "content": "Isn't it sekrit and deep!",
- "enable_comments": false
- }
- }
-] \ No newline at end of file
diff --git a/django/contrib/flatpages/tests/__init__.py b/django/contrib/flatpages/tests/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
--- a/django/contrib/flatpages/tests/__init__.py
+++ /dev/null
diff --git a/django/contrib/flatpages/tests/settings.py b/django/contrib/flatpages/tests/settings.py
deleted file mode 100644
index ad888f9d95..0000000000
--- a/django/contrib/flatpages/tests/settings.py
+++ /dev/null
@@ -1,11 +0,0 @@
-import os
-
-FLATPAGES_TEMPLATES = [{
- 'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': [os.path.join(os.path.dirname(__file__), 'templates')],
- 'OPTIONS': {
- 'context_processors': (
- 'django.contrib.auth.context_processors.auth',
- ),
- },
-}]
diff --git a/django/contrib/flatpages/tests/templates/404.html b/django/contrib/flatpages/tests/templates/404.html
deleted file mode 100644
index cbfff0cf2f..0000000000
--- a/django/contrib/flatpages/tests/templates/404.html
+++ /dev/null
@@ -1 +0,0 @@
-<h1>Oh Noes!</h1>
diff --git a/django/contrib/flatpages/tests/templates/flatpages/default.html b/django/contrib/flatpages/tests/templates/flatpages/default.html
deleted file mode 100644
index 559e3f710f..0000000000
--- a/django/contrib/flatpages/tests/templates/flatpages/default.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>{{ flatpage.title }}</title>
-</head>
-<body>
-<p>{{ flatpage.content }}</p>
-</body>
-</html>
diff --git a/django/contrib/flatpages/tests/templates/registration/login.html b/django/contrib/flatpages/tests/templates/registration/login.html
deleted file mode 100644
index e69de29bb2..0000000000
--- a/django/contrib/flatpages/tests/templates/registration/login.html
+++ /dev/null
diff --git a/django/contrib/flatpages/tests/test_csrf.py b/django/contrib/flatpages/tests/test_csrf.py
deleted file mode 100644
index e661b12c7a..0000000000
--- a/django/contrib/flatpages/tests/test_csrf.py
+++ /dev/null
@@ -1,75 +0,0 @@
-from django.contrib.auth.models import User
-from django.contrib.auth.tests.utils import skipIfCustomUser
-from django.test import Client, TestCase, override_settings
-
-from .settings import FLATPAGES_TEMPLATES
-
-
-@override_settings(
- LOGIN_URL='/accounts/login/',
- MIDDLEWARE_CLASSES=(
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
- ),
- ROOT_URLCONF='django.contrib.flatpages.tests.urls',
- CSRF_FAILURE_VIEW='django.views.csrf.csrf_failure',
- TEMPLATES=FLATPAGES_TEMPLATES,
- SITE_ID=1,
-)
-class FlatpageCSRFTests(TestCase):
- fixtures = ['sample_flatpages', 'example_site']
-
- def setUp(self):
- self.client = Client(enforce_csrf_checks=True)
-
- def test_view_flatpage(self):
- "A flatpage can be served through a view, even when the middleware is in use"
- response = self.client.get('/flatpage_root/flatpage/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it flat!</p>")
-
- def test_view_non_existent_flatpage(self):
- "A non-existent flatpage raises 404 when served through a view, even when the middleware is in use"
- response = self.client.get('/flatpage_root/no_such_flatpage/')
- self.assertEqual(response.status_code, 404)
-
- @skipIfCustomUser
- def test_view_authenticated_flatpage(self):
- "A flatpage served through a view can require authentication"
- response = self.client.get('/flatpage_root/sekrit/')
- self.assertRedirects(response, '/accounts/login/?next=/flatpage_root/sekrit/')
- User.objects.create_user('testuser', 'test@example.com', 's3krit')
- self.client.login(username='testuser', password='s3krit')
- response = self.client.get('/flatpage_root/sekrit/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it sekrit!</p>")
-
- def test_fallback_flatpage(self):
- "A flatpage can be served by the fallback middleware"
- response = self.client.get('/flatpage/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it flat!</p>")
-
- def test_fallback_non_existent_flatpage(self):
- "A non-existent flatpage raises a 404 when served by the fallback middleware"
- response = self.client.get('/no_such_flatpage/')
- self.assertEqual(response.status_code, 404)
-
- def test_post_view_flatpage(self):
- "POSTing to a flatpage served through a view will raise a CSRF error if no token is provided (Refs #14156)"
- response = self.client.post('/flatpage_root/flatpage/')
- self.assertEqual(response.status_code, 403)
-
- def test_post_fallback_flatpage(self):
- "POSTing to a flatpage served by the middleware will raise a CSRF error if no token is provided (Refs #14156)"
- response = self.client.post('/flatpage/')
- self.assertEqual(response.status_code, 403)
-
- def test_post_unknown_page(self):
- "POSTing to an unknown page isn't caught as a 403 CSRF error"
- response = self.client.post('/no_such_page/')
- self.assertEqual(response.status_code, 404)
diff --git a/django/contrib/flatpages/tests/test_forms.py b/django/contrib/flatpages/tests/test_forms.py
deleted file mode 100644
index 8a6db742fa..0000000000
--- a/django/contrib/flatpages/tests/test_forms.py
+++ /dev/null
@@ -1,98 +0,0 @@
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.contrib.flatpages.forms import FlatpageForm
-from django.contrib.flatpages.models import FlatPage
-from django.test import TestCase, override_settings
-from django.utils import translation
-
-
-@override_settings(SITE_ID=1)
-class FlatpageAdminFormTests(TestCase):
- fixtures = ['example_site']
-
- def setUp(self):
- self.form_data = {
- 'title': "A test page",
- 'content': "This is a test",
- 'sites': [settings.SITE_ID],
- }
-
- def test_flatpage_admin_form_url_validation(self):
- "The flatpage admin form correctly validates urls"
- self.assertTrue(FlatpageForm(data=dict(url='/new_flatpage/', **self.form_data)).is_valid())
- self.assertTrue(FlatpageForm(data=dict(url='/some.special~chars/', **self.form_data)).is_valid())
- self.assertTrue(FlatpageForm(data=dict(url='/some.very_special~chars-here/', **self.form_data)).is_valid())
-
- self.assertFalse(FlatpageForm(data=dict(url='/a space/', **self.form_data)).is_valid())
- self.assertFalse(FlatpageForm(data=dict(url='/a % char/', **self.form_data)).is_valid())
- self.assertFalse(FlatpageForm(data=dict(url='/a ! char/', **self.form_data)).is_valid())
- self.assertFalse(FlatpageForm(data=dict(url='/a & char/', **self.form_data)).is_valid())
- self.assertFalse(FlatpageForm(data=dict(url='/a ? char/', **self.form_data)).is_valid())
-
- def test_flatpage_requires_leading_slash(self):
- form = FlatpageForm(data=dict(url='no_leading_slash/', **self.form_data))
- with translation.override('en'):
- self.assertFalse(form.is_valid())
- self.assertEqual(form.errors['url'], ["URL is missing a leading slash."])
-
- @override_settings(APPEND_SLASH=True,
- MIDDLEWARE_CLASSES=('django.middleware.common.CommonMiddleware',))
- def test_flatpage_requires_trailing_slash_with_append_slash(self):
- form = FlatpageForm(data=dict(url='/no_trailing_slash', **self.form_data))
- with translation.override('en'):
- self.assertFalse(form.is_valid())
- self.assertEqual(form.errors['url'], ["URL is missing a trailing slash."])
-
- @override_settings(APPEND_SLASH=False,
- MIDDLEWARE_CLASSES=('django.middleware.common.CommonMiddleware',))
- def test_flatpage_doesnt_requires_trailing_slash_without_append_slash(self):
- form = FlatpageForm(data=dict(url='/no_trailing_slash', **self.form_data))
- self.assertTrue(form.is_valid())
-
- def test_flatpage_admin_form_url_uniqueness_validation(self):
- "The flatpage admin form correctly enforces url uniqueness among flatpages of the same site"
- data = dict(url='/myflatpage1/', **self.form_data)
-
- FlatpageForm(data=data).save()
-
- f = FlatpageForm(data=data)
-
- with translation.override('en'):
- self.assertFalse(f.is_valid())
-
- self.assertEqual(
- f.errors,
- {'__all__': ['Flatpage with url /myflatpage1/ already exists for site example.com']})
-
- def test_flatpage_admin_form_edit(self):
- """
- Existing flatpages can be edited in the admin form without triggering
- the url-uniqueness validation.
-
- """
- existing = FlatPage.objects.create(
- url="/myflatpage1/", title="Some page", content="The content")
- existing.sites.add(settings.SITE_ID)
-
- data = dict(url='/myflatpage1/', **self.form_data)
-
- f = FlatpageForm(data=data, instance=existing)
-
- self.assertTrue(f.is_valid(), f.errors)
-
- updated = f.save()
-
- self.assertEqual(updated.title, "A test page")
-
- def test_flatpage_nosites(self):
- data = dict(url='/myflatpage1/', **self.form_data)
- data.update({'sites': ''})
-
- f = FlatpageForm(data=data)
-
- self.assertFalse(f.is_valid())
-
- self.assertEqual(
- f.errors,
- {'sites': [translation.ugettext('This field is required.')]})
diff --git a/django/contrib/flatpages/tests/test_middleware.py b/django/contrib/flatpages/tests/test_middleware.py
deleted file mode 100644
index 0e8415b075..0000000000
--- a/django/contrib/flatpages/tests/test_middleware.py
+++ /dev/null
@@ -1,152 +0,0 @@
-from django.conf import settings
-from django.contrib.auth.models import User
-from django.contrib.auth.tests.utils import skipIfCustomUser
-from django.contrib.flatpages.models import FlatPage
-from django.test import TestCase, override_settings
-
-from .settings import FLATPAGES_TEMPLATES
-
-
-@override_settings(
- LOGIN_URL='/accounts/login/',
- MIDDLEWARE_CLASSES=(
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
- ),
- ROOT_URLCONF='django.contrib.flatpages.tests.urls',
- TEMPLATES=FLATPAGES_TEMPLATES,
- SITE_ID=1,
-)
-class FlatpageMiddlewareTests(TestCase):
- fixtures = ['sample_flatpages', 'example_site']
-
- def test_view_flatpage(self):
- "A flatpage can be served through a view, even when the middleware is in use"
- response = self.client.get('/flatpage_root/flatpage/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it flat!</p>")
-
- def test_view_non_existent_flatpage(self):
- "A non-existent flatpage raises 404 when served through a view, even when the middleware is in use"
- response = self.client.get('/flatpage_root/no_such_flatpage/')
- self.assertEqual(response.status_code, 404)
-
- @skipIfCustomUser
- def test_view_authenticated_flatpage(self):
- "A flatpage served through a view can require authentication"
- response = self.client.get('/flatpage_root/sekrit/')
- self.assertRedirects(response, '/accounts/login/?next=/flatpage_root/sekrit/')
- User.objects.create_user('testuser', 'test@example.com', 's3krit')
- self.client.login(username='testuser', password='s3krit')
- response = self.client.get('/flatpage_root/sekrit/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it sekrit!</p>")
-
- def test_fallback_flatpage(self):
- "A flatpage can be served by the fallback middleware"
- response = self.client.get('/flatpage/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it flat!</p>")
-
- def test_fallback_non_existent_flatpage(self):
- "A non-existent flatpage raises a 404 when served by the fallback middleware"
- response = self.client.get('/no_such_flatpage/')
- self.assertEqual(response.status_code, 404)
-
- @skipIfCustomUser
- def test_fallback_authenticated_flatpage(self):
- "A flatpage served by the middleware can require authentication"
- response = self.client.get('/sekrit/')
- self.assertRedirects(response, '/accounts/login/?next=/sekrit/')
- User.objects.create_user('testuser', 'test@example.com', 's3krit')
- self.client.login(username='testuser', password='s3krit')
- response = self.client.get('/sekrit/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it sekrit!</p>")
-
- def test_fallback_flatpage_special_chars(self):
- "A flatpage with special chars in the URL can be served by the fallback middleware"
- fp = FlatPage.objects.create(
- url="/some.very_special~chars-here/",
- title="A very special page",
- content="Isn't it special!",
- enable_comments=False,
- registration_required=False,
- )
- fp.sites.add(settings.SITE_ID)
-
- response = self.client.get('/some.very_special~chars-here/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it special!</p>")
-
-
-@override_settings(
- APPEND_SLASH=True,
- LOGIN_URL='/accounts/login/',
- MIDDLEWARE_CLASSES=(
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
- ),
- ROOT_URLCONF='django.contrib.flatpages.tests.urls',
- TEMPLATES=FLATPAGES_TEMPLATES,
- SITE_ID=1,
-)
-class FlatpageMiddlewareAppendSlashTests(TestCase):
- fixtures = ['sample_flatpages', 'example_site']
-
- def test_redirect_view_flatpage(self):
- "A flatpage can be served through a view and should add a slash"
- response = self.client.get('/flatpage_root/flatpage')
- self.assertRedirects(response, '/flatpage_root/flatpage/', status_code=301)
-
- def test_redirect_view_non_existent_flatpage(self):
- "A non-existent flatpage raises 404 when served through a view and should not add a slash"
- response = self.client.get('/flatpage_root/no_such_flatpage')
- self.assertEqual(response.status_code, 404)
-
- def test_redirect_fallback_flatpage(self):
- "A flatpage can be served by the fallback middleware and should add a slash"
- response = self.client.get('/flatpage')
- self.assertRedirects(response, '/flatpage/', status_code=301)
-
- def test_redirect_fallback_non_existent_flatpage(self):
- "A non-existent flatpage raises a 404 when served by the fallback middleware and should not add a slash"
- response = self.client.get('/no_such_flatpage')
- self.assertEqual(response.status_code, 404)
-
- def test_redirect_fallback_flatpage_special_chars(self):
- "A flatpage with special chars in the URL can be served by the fallback middleware and should add a slash"
- fp = FlatPage.objects.create(
- url="/some.very_special~chars-here/",
- title="A very special page",
- content="Isn't it special!",
- enable_comments=False,
- registration_required=False,
- )
- fp.sites.add(settings.SITE_ID)
-
- response = self.client.get('/some.very_special~chars-here')
- self.assertRedirects(response, '/some.very_special~chars-here/', status_code=301)
-
- def test_redirect_fallback_flatpage_root(self):
- "A flatpage at / should not cause a redirect loop when APPEND_SLASH is set"
- fp = FlatPage.objects.create(
- url="/",
- title="Root",
- content="Root",
- enable_comments=False,
- registration_required=False,
- )
- fp.sites.add(settings.SITE_ID)
-
- response = self.client.get('/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Root</p>")
diff --git a/django/contrib/flatpages/tests/test_models.py b/django/contrib/flatpages/tests/test_models.py
deleted file mode 100644
index c48dc38637..0000000000
--- a/django/contrib/flatpages/tests/test_models.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from __future__ import unicode_literals
-
-from django.contrib.flatpages.models import FlatPage
-from django.core.urlresolvers import clear_script_prefix, set_script_prefix
-from django.test import TestCase
-
-
-class FlatpageModelTests(TestCase):
-
- def test_get_absolute_url_urlencodes(self):
- pf = FlatPage(title="Café!", url='/café/')
- self.assertEqual(pf.get_absolute_url(), '/caf%C3%A9/')
-
- def test_get_absolute_url_honors_script_prefix(self):
- pf = FlatPage(title="Tea!", url='/tea/')
- set_script_prefix('/beverages/')
- try:
- self.assertEqual(pf.get_absolute_url(), '/beverages/tea/')
- finally:
- clear_script_prefix()
diff --git a/django/contrib/flatpages/tests/test_sitemaps.py b/django/contrib/flatpages/tests/test_sitemaps.py
deleted file mode 100644
index dcfbef4e29..0000000000
--- a/django/contrib/flatpages/tests/test_sitemaps.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from __future__ import unicode_literals
-
-from django.apps import apps
-from django.contrib.sites.models import Site
-from django.test import TestCase
-from django.test.utils import modify_settings, override_settings
-
-
-@override_settings(
- ROOT_URLCONF='django.contrib.flatpages.tests.urls',
- SITE_ID=1,
-)
-@modify_settings(INSTALLED_APPS={'append': ['django.contrib.sitemaps']},)
-class FlatpagesSitemapTests(TestCase):
-
- @classmethod
- def setUpClass(cls):
- super(FlatpagesSitemapTests, cls).setUpClass()
- # This cleanup is necessary because contrib.sites cache
- # makes tests interfere with each other, see #11505
- Site.objects.clear_cache()
-
- @classmethod
- def setUpTestData(cls):
- Site = apps.get_model('sites.Site')
- current_site = Site.objects.get_current()
- current_site.flatpage_set.create(url="/foo/", title="foo")
- current_site.flatpage_set.create(url="/private-foo/", title="private foo", registration_required=True)
-
- def test_flatpage_sitemap(self):
- response = self.client.get('/flatpages/sitemap.xml')
- self.assertIn(b'<url><loc>http://example.com/foo/</loc></url>', response.getvalue())
- self.assertNotIn(b'<url><loc>http://example.com/private-foo/</loc></url>', response.getvalue())
diff --git a/django/contrib/flatpages/tests/test_templatetags.py b/django/contrib/flatpages/tests/test_templatetags.py
deleted file mode 100644
index 21d90da32e..0000000000
--- a/django/contrib/flatpages/tests/test_templatetags.py
+++ /dev/null
@@ -1,133 +0,0 @@
-from django.contrib.auth.models import AnonymousUser, User
-from django.contrib.auth.tests.utils import skipIfCustomUser
-from django.template import Context, Template, TemplateSyntaxError
-from django.test import TestCase, override_settings
-
-from .settings import FLATPAGES_TEMPLATES
-
-
-@override_settings(
- MIDDLEWARE_CLASSES=(
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
- ),
- ROOT_URLCONF='django.contrib.flatpages.tests.urls',
- TEMPLATES=FLATPAGES_TEMPLATES,
- SITE_ID=1,
-)
-class FlatpageTemplateTagTests(TestCase):
- fixtures = ['sample_flatpages']
-
- def test_get_flatpages_tag(self):
- "The flatpage template tag retrives unregistered prefixed flatpages by default"
- out = Template(
- "{% load flatpages %}"
- "{% get_flatpages as flatpages %}"
- "{% for page in flatpages %}"
- "{{ page.title }},"
- "{% endfor %}"
- ).render(Context())
- self.assertEqual(out, "A Flatpage,A Nested Flatpage,")
-
- def test_get_flatpages_tag_for_anon_user(self):
- "The flatpage template tag retrives unregistered flatpages for an anonymous user"
- out = Template(
- "{% load flatpages %}"
- "{% get_flatpages for anonuser as flatpages %}"
- "{% for page in flatpages %}"
- "{{ page.title }},"
- "{% endfor %}"
- ).render(Context({
- 'anonuser': AnonymousUser()
- }))
- self.assertEqual(out, "A Flatpage,A Nested Flatpage,")
-
- @skipIfCustomUser
- def test_get_flatpages_tag_for_user(self):
- "The flatpage template tag retrives all flatpages for an authenticated user"
- me = User.objects.create_user('testuser', 'test@example.com', 's3krit')
- out = Template(
- "{% load flatpages %}"
- "{% get_flatpages for me as flatpages %}"
- "{% for page in flatpages %}"
- "{{ page.title }},"
- "{% endfor %}"
- ).render(Context({
- 'me': me
- }))
- self.assertEqual(out, "A Flatpage,A Nested Flatpage,Sekrit Nested Flatpage,Sekrit Flatpage,")
-
- def test_get_flatpages_with_prefix(self):
- "The flatpage template tag retrives unregistered prefixed flatpages by default"
- out = Template(
- "{% load flatpages %}"
- "{% get_flatpages '/location/' as location_flatpages %}"
- "{% for page in location_flatpages %}"
- "{{ page.title }},"
- "{% endfor %}"
- ).render(Context())
- self.assertEqual(out, "A Nested Flatpage,")
-
- def test_get_flatpages_with_prefix_for_anon_user(self):
- "The flatpage template tag retrives unregistered prefixed flatpages for an anonymous user"
- out = Template(
- "{% load flatpages %}"
- "{% get_flatpages '/location/' for anonuser as location_flatpages %}"
- "{% for page in location_flatpages %}"
- "{{ page.title }},"
- "{% endfor %}"
- ).render(Context({
- 'anonuser': AnonymousUser()
- }))
- self.assertEqual(out, "A Nested Flatpage,")
-
- @skipIfCustomUser
- def test_get_flatpages_with_prefix_for_user(self):
- "The flatpage template tag retrieve prefixed flatpages for an authenticated user"
- me = User.objects.create_user('testuser', 'test@example.com', 's3krit')
- out = Template(
- "{% load flatpages %}"
- "{% get_flatpages '/location/' for me as location_flatpages %}"
- "{% for page in location_flatpages %}"
- "{{ page.title }},"
- "{% endfor %}"
- ).render(Context({
- 'me': me
- }))
- self.assertEqual(out, "A Nested Flatpage,Sekrit Nested Flatpage,")
-
- def test_get_flatpages_with_variable_prefix(self):
- "The prefix for the flatpage template tag can be a template variable"
- out = Template(
- "{% load flatpages %}"
- "{% get_flatpages location_prefix as location_flatpages %}"
- "{% for page in location_flatpages %}"
- "{{ page.title }},"
- "{% endfor %}"
- ).render(Context({
- 'location_prefix': '/location/'
- }))
- self.assertEqual(out, "A Nested Flatpage,")
-
- def test_parsing_errors(self):
- "There are various ways that the flatpages template tag won't parse"
- render = lambda t: Template(t).render(Context())
-
- self.assertRaises(TemplateSyntaxError, render,
- "{% load flatpages %}{% get_flatpages %}")
- self.assertRaises(TemplateSyntaxError, render,
- "{% load flatpages %}{% get_flatpages as %}")
- self.assertRaises(TemplateSyntaxError, render,
- "{% load flatpages %}{% get_flatpages cheesecake flatpages %}")
- self.assertRaises(TemplateSyntaxError, render,
- "{% load flatpages %}{% get_flatpages as flatpages asdf %}")
- self.assertRaises(TemplateSyntaxError, render,
- "{% load flatpages %}{% get_flatpages cheesecake user as flatpages %}")
- self.assertRaises(TemplateSyntaxError, render,
- "{% load flatpages %}{% get_flatpages for user as flatpages asdf %}")
- self.assertRaises(TemplateSyntaxError, render,
- "{% load flatpages %}{% get_flatpages prefix for user as flatpages asdf %}")
diff --git a/django/contrib/flatpages/tests/test_views.py b/django/contrib/flatpages/tests/test_views.py
deleted file mode 100644
index b6fb25f9c3..0000000000
--- a/django/contrib/flatpages/tests/test_views.py
+++ /dev/null
@@ -1,125 +0,0 @@
-from django.conf import settings
-from django.contrib.auth.models import User
-from django.contrib.auth.tests.utils import skipIfCustomUser
-from django.contrib.flatpages.models import FlatPage
-from django.test import TestCase, override_settings
-
-from .settings import FLATPAGES_TEMPLATES
-
-
-@override_settings(
- LOGIN_URL='/accounts/login/',
- MIDDLEWARE_CLASSES=(
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- # no 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware'
- ),
- ROOT_URLCONF='django.contrib.flatpages.tests.urls',
- TEMPLATES=FLATPAGES_TEMPLATES,
- SITE_ID=1,
-)
-class FlatpageViewTests(TestCase):
- fixtures = ['sample_flatpages', 'example_site']
-
- def test_view_flatpage(self):
- "A flatpage can be served through a view"
- response = self.client.get('/flatpage_root/flatpage/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it flat!</p>")
-
- def test_view_non_existent_flatpage(self):
- "A non-existent flatpage raises 404 when served through a view"
- response = self.client.get('/flatpage_root/no_such_flatpage/')
- self.assertEqual(response.status_code, 404)
-
- @skipIfCustomUser
- def test_view_authenticated_flatpage(self):
- "A flatpage served through a view can require authentication"
- response = self.client.get('/flatpage_root/sekrit/')
- self.assertRedirects(response, '/accounts/login/?next=/flatpage_root/sekrit/')
- User.objects.create_user('testuser', 'test@example.com', 's3krit')
- self.client.login(username='testuser', password='s3krit')
- response = self.client.get('/flatpage_root/sekrit/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it sekrit!</p>")
-
- def test_fallback_flatpage(self):
- "A fallback flatpage won't be served if the middleware is disabled"
- response = self.client.get('/flatpage/')
- self.assertEqual(response.status_code, 404)
-
- def test_fallback_non_existent_flatpage(self):
- "A non-existent flatpage won't be served if the fallback middleware is disabled"
- response = self.client.get('/no_such_flatpage/')
- self.assertEqual(response.status_code, 404)
-
- def test_view_flatpage_special_chars(self):
- "A flatpage with special chars in the URL can be served through a view"
- fp = FlatPage.objects.create(
- url="/some.very_special~chars-here/",
- title="A very special page",
- content="Isn't it special!",
- enable_comments=False,
- registration_required=False,
- )
- fp.sites.add(settings.SITE_ID)
-
- response = self.client.get('/flatpage_root/some.very_special~chars-here/')
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, "<p>Isn't it special!</p>")
-
-
-@override_settings(
- APPEND_SLASH=True,
- LOGIN_URL='/accounts/login/',
- MIDDLEWARE_CLASSES=(
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- # no 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware'
- ),
- ROOT_URLCONF='django.contrib.flatpages.tests.urls',
- TEMPLATES=FLATPAGES_TEMPLATES,
- SITE_ID=1,
-)
-class FlatpageViewAppendSlashTests(TestCase):
- fixtures = ['sample_flatpages', 'example_site']
-
- def test_redirect_view_flatpage(self):
- "A flatpage can be served through a view and should add a slash"
- response = self.client.get('/flatpage_root/flatpage')
- self.assertRedirects(response, '/flatpage_root/flatpage/', status_code=301)
-
- def test_redirect_view_non_existent_flatpage(self):
- "A non-existent flatpage raises 404 when served through a view and should not add a slash"
- response = self.client.get('/flatpage_root/no_such_flatpage')
- self.assertEqual(response.status_code, 404)
-
- def test_redirect_fallback_flatpage(self):
- "A fallback flatpage won't be served if the middleware is disabled and should not add a slash"
- response = self.client.get('/flatpage')
- self.assertEqual(response.status_code, 404)
-
- def test_redirect_fallback_non_existent_flatpage(self):
- "A non-existent flatpage won't be served if the fallback middleware is disabled and should not add a slash"
- response = self.client.get('/no_such_flatpage')
- self.assertEqual(response.status_code, 404)
-
- def test_redirect_view_flatpage_special_chars(self):
- "A flatpage with special chars in the URL can be served through a view and should add a slash"
- fp = FlatPage.objects.create(
- url="/some.very_special~chars-here/",
- title="A very special page",
- content="Isn't it special!",
- enable_comments=False,
- registration_required=False,
- )
- fp.sites.add(settings.SITE_ID)
-
- response = self.client.get('/flatpage_root/some.very_special~chars-here')
- self.assertRedirects(response, '/flatpage_root/some.very_special~chars-here/', status_code=301)
diff --git a/django/contrib/flatpages/tests/urls.py b/django/contrib/flatpages/tests/urls.py
deleted file mode 100644
index 5b2c576b14..0000000000
--- a/django/contrib/flatpages/tests/urls.py
+++ /dev/null
@@ -1,13 +0,0 @@
-from django.conf.urls import include, url
-from django.contrib.flatpages.sitemaps import FlatPageSitemap
-from django.contrib.sitemaps import views
-
-# special urls for flatpage test cases
-urlpatterns = [
- url(r'^flatpages/sitemap\.xml$', views.sitemap,
- {'sitemaps': {'flatpages': FlatPageSitemap}},
- name='django.contrib.sitemaps.views.sitemap'),
-
- url(r'^flatpage_root', include('django.contrib.flatpages.urls')),
- url(r'^accounts/', include('django.contrib.auth.urls')),
-]