diff options
Diffstat (limited to 'lib/python2.7/site-packages/django/contrib/sitemaps/tests/test_flatpages.py')
-rw-r--r-- | lib/python2.7/site-packages/django/contrib/sitemaps/tests/test_flatpages.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/python2.7/site-packages/django/contrib/sitemaps/tests/test_flatpages.py b/lib/python2.7/site-packages/django/contrib/sitemaps/tests/test_flatpages.py new file mode 100644 index 0000000..930f24f --- /dev/null +++ b/lib/python2.7/site-packages/django/contrib/sitemaps/tests/test_flatpages.py @@ -0,0 +1,39 @@ +from __future__ import unicode_literals + +from django.conf import settings +from django.utils.unittest import skipUnless + +from .base import SitemapTestsBase + +class FlatpagesSitemapTests(SitemapTestsBase): + + @skipUnless("django.contrib.flatpages" in settings.INSTALLED_APPS, + "django.contrib.flatpages app not installed.") + def test_flatpage_sitemap(self): + "Basic FlatPage sitemap test" + + # Import FlatPage inside the test so that when django.contrib.flatpages + # is not installed we don't get problems trying to delete Site + # objects (FlatPage has an M2M to Site, Site.delete() tries to + # delete related objects, but the M2M table doesn't exist. + from django.contrib.flatpages.models import FlatPage + + public = FlatPage.objects.create( + url='/public/', + title='Public Page', + enable_comments=True, + registration_required=False, + ) + public.sites.add(settings.SITE_ID) + private = FlatPage.objects.create( + url='/private/', + title='Private Page', + enable_comments=True, + registration_required=True + ) + private.sites.add(settings.SITE_ID) + response = self.client.get('/flatpages/sitemap.xml') + # Public flatpage should be in the sitemap + self.assertContains(response, '<loc>%s%s</loc>' % (self.base_url, public.url)) + # Private flatpage should not be in the sitemap + self.assertNotContains(response, '<loc>%s%s</loc>' % (self.base_url, private.url)) |