~ubuntu-branches/ubuntu/quantal/python-django/quantal-security

« back to all changes in this revision

Viewing changes to django/contrib/flatpages/tests/views.py

  • Committer: Bazaar Package Importer
  • Author(s): Jamie Strandboge
  • Date: 2010-10-12 11:34:35 UTC
  • mfrom: (1.2.7 upstream)
  • mto: This revision was merged to the branch mainline in revision 30.
  • Revision ID: james.westby@ubuntu.com-20101012113435-9lnsrh0i3mxozbt0
Tags: upstream-1.2.3
ImportĀ upstreamĀ versionĀ 1.2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import os
 
2
from django.conf import settings
 
3
from django.test import TestCase
 
4
 
 
5
class FlatpageViewTests(TestCase):
 
6
    fixtures = ['sample_flatpages']
 
7
    urls = 'django.contrib.flatpages.tests.urls'
 
8
 
 
9
    def setUp(self):
 
10
        self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES
 
11
        flatpage_middleware_class = 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware'
 
12
        if flatpage_middleware_class in settings.MIDDLEWARE_CLASSES:
 
13
            settings.MIDDLEWARE_CLASSES = tuple(m for m in settings.MIDDLEWARE_CLASSES if m != flatpage_middleware_class)
 
14
        self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
 
15
        settings.TEMPLATE_DIRS = (
 
16
            os.path.join(
 
17
                os.path.dirname(__file__),
 
18
                'templates'
 
19
            ),
 
20
        )
 
21
 
 
22
    def tearDown(self):
 
23
        settings.MIDDLEWARE_CLASSES = self.old_MIDDLEWARE_CLASSES
 
24
        settings.TEMPLATE_DIRS = self.old_TEMPLATE_DIRS
 
25
 
 
26
    def test_view_flatpage(self):
 
27
        "A flatpage can be served through a view"
 
28
        response = self.client.get('/flatpage_root/flatpage/')
 
29
        self.assertEquals(response.status_code, 200)
 
30
        self.assertContains(response, "<p>Isn't it flat!</p>")
 
31
 
 
32
    def test_view_non_existent_flatpage(self):
 
33
        "A non-existent flatpage raises 404 when served through a view"
 
34
        response = self.client.get('/flatpage_root/no_such_flatpage/')
 
35
        self.assertEquals(response.status_code, 404)
 
36
 
 
37
    def test_view_authenticated_flatpage(self):
 
38
        "A flatpage served through a view can require authentication"
 
39
        response = self.client.get('/flatpage_root/sekrit/')
 
40
        self.assertRedirects(response, '/accounts/login/?next=/flatpage_root/sekrit/')
 
41
 
 
42
    def test_fallback_flatpage(self):
 
43
        "A fallback flatpage won't be served if the middleware is disabled"
 
44
        response = self.client.get('/flatpage/')
 
45
        self.assertEquals(response.status_code, 404)
 
46
 
 
47
    def test_fallback_non_existent_flatpage(self):
 
48
        "A non-existent flatpage won't be served if the fallback middlware is disabled"
 
49
        response = self.client.get('/no_such_flatpage/')
 
50
        self.assertEquals(response.status_code, 404)