ó
öSQc           @   s   d  d l  Z  d  d l m Z d  d l m Z d  d l m Z d  d l m Z d  d l	 m
 Z
 d  d l m Z e d d	 d
 d d e  j j e  j j e ƒ d ƒ f d d ƒ d e
 f d „  ƒ  Yƒ Z e d e d d	 d
 d d e  j j e  j j e ƒ d ƒ f d d ƒ d e
 f d „  ƒ  Yƒ Z d S(   iÿÿÿÿN(   t   settings(   t   User(   t   skipIfCustomUser(   t   FlatPage(   t   TestCase(   t   override_settingst	   LOGIN_URLs   /accounts/login/t   MIDDLEWARE_CLASSESs)   django.middleware.common.CommonMiddlewares4   django.contrib.sessions.middleware.SessionMiddlewares)   django.middleware.csrf.CsrfViewMiddlewares7   django.contrib.auth.middleware.AuthenticationMiddlewares4   django.contrib.messages.middleware.MessageMiddlewaret   TEMPLATE_DIRSt	   templatest   SITE_IDi   t   FlatpageViewTestsc           B   sV   e  Z d  d g Z d Z d „  Z d „  Z e d „  ƒ Z d „  Z d „  Z	 d „  Z
 RS(	   t   sample_flatpagest   example_sites#   django.contrib.flatpages.tests.urlsc         C   s9   |  j  j d ƒ } |  j | j d ƒ |  j | d ƒ d S(   s'   A flatpage can be served through a views   /flatpage_root/flatpage/iÈ   s   <p>Isn't it flat!</p>N(   t   clientt   gett   assertEqualt   status_codet   assertContains(   t   selft   response(    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt   test_view_flatpage   s    c         C   s)   |  j  j d ƒ } |  j | j d ƒ d S(   s=   A non-existent flatpage raises 404 when served through a views    /flatpage_root/no_such_flatpage/i”  N(   R   R   R   R   (   R   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt   test_view_non_existent_flatpage#   s    c         C   sŠ   |  j  j d ƒ } |  j | d ƒ t j j d d d ƒ |  j  j d d d d ƒ |  j  j d ƒ } |  j | j d ƒ |  j	 | d	 ƒ d
 S(   s;   A flatpage served through a view can require authentications   /flatpage_root/sekrit/s,   /accounts/login/?next=/flatpage_root/sekrit/t   testusers   test@example.comt   s3kritt   usernamet   passwordiÈ   s   <p>Isn't it sekrit!</p>N(
   R   R   t   assertRedirectsR   t   objectst   create_usert   loginR   R   R   (   R   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt    test_view_authenticated_flatpage(   s    c         C   s)   |  j  j d ƒ } |  j | j d ƒ d S(   sA   A fallback flatpage won't be served if the middleware is disableds
   /flatpage/i”  N(   R   R   R   R   (   R   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt   test_fallback_flatpage3   s    c         C   s)   |  j  j d ƒ } |  j | j d ƒ d S(   sM   A non-existent flatpage won't be served if the fallback middlware is disableds   /no_such_flatpage/i”  N(   R   R   R   R   (   R   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt#   test_fallback_non_existent_flatpage8   s    c         C   sy   t  j j d d d d d d d t d t ƒ } | j j t j ƒ |  j j	 d	 ƒ } |  j
 | j d
 ƒ |  j | d ƒ d S(   sE   A flatpage with special chars in the URL can be served through a viewt   urls   /some.very_special~chars-here/t   titles   A very special paget   contents   Isn't it special!t   enable_commentst   registration_requireds,   /flatpage_root/some.very_special~chars-here/iÈ   s   <p>Isn't it special!</p>N(   R   R   t   createt   Falset   sitest   addR    R
   R   R   R   R   R   (   R   t   fpR   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt    test_view_flatpage_special_chars=   s    	(   t   __name__t
   __module__t   fixturest   urlsR   R   R   R   R    R!   R,   (    (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyR   
   s   				t   APPEND_SLASHt   FlatpageViewAppendSlashTestsc           B   sG   e  Z d  d g Z d Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   R   R   s#   django.contrib.flatpages.tests.urlsc         C   s,   |  j  j d ƒ } |  j | d d d ƒd S(   s>   A flatpage can be served through a view and should add a slashs   /flatpage_root/flatpages   /flatpage_root/flatpage/R   i-  N(   R   R   R   (   R   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt   test_redirect_view_flatpagea   s    c         C   s)   |  j  j d ƒ } |  j | j d ƒ d S(   sX   A non-existent flatpage raises 404 when served through a view and should not add a slashs   /flatpage_root/no_such_flatpagei”  N(   R   R   R   R   (   R   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt(   test_redirect_view_non_existent_flatpagef   s    c         C   s)   |  j  j d ƒ } |  j | j d ƒ d S(   s\   A fallback flatpage won't be served if the middleware is disabled and should not add a slashs	   /flatpagei”  N(   R   R   R   R   (   R   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt   test_redirect_fallback_flatpagek   s    c         C   s)   |  j  j d ƒ } |  j | j d ƒ d S(   sh   A non-existent flatpage won't be served if the fallback middlware is disabled and should not add a slashs   /no_such_flatpagei”  N(   R   R   R   R   (   R   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt,   test_redirect_fallback_non_existent_flatpagep   s    c         C   sl   t  j j d d d d d d d t d t ƒ } | j j t j ƒ |  j j	 d	 ƒ } |  j
 | d
 d d ƒd S(   s\   A flatpage with special chars in the URL can be served through a view and should add a slashR"   s   /some.very_special~chars-here/R#   s   A very special pageR$   s   Isn't it special!R%   R&   s+   /flatpage_root/some.very_special~chars-heres,   /flatpage_root/some.very_special~chars-here/R   i-  N(   R   R   R'   R(   R)   R*   R    R
   R   R   R   (   R   R+   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt)   test_redirect_view_flatpage_special_charsu   s    	(	   R-   R.   R/   R0   R3   R4   R5   R6   R7   (    (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyR2   M   s   				(   s)   django.middleware.common.CommonMiddlewares4   django.contrib.sessions.middleware.SessionMiddlewares)   django.middleware.csrf.CsrfViewMiddlewares7   django.contrib.auth.middleware.AuthenticationMiddlewares4   django.contrib.messages.middleware.MessageMiddleware(   s)   django.middleware.common.CommonMiddlewares4   django.contrib.sessions.middleware.SessionMiddlewares)   django.middleware.csrf.CsrfViewMiddlewares7   django.contrib.auth.middleware.AuthenticationMiddlewares4   django.contrib.messages.middleware.MessageMiddleware(   t   ost   django.confR    t   django.contrib.auth.modelsR   t   django.contrib.auth.tests.utilsR   t   django.contrib.flatpages.modelsR   t   django.testR   t   django.test.utilsR   t   patht   joint   dirnamet   __file__R   t   TrueR2   (    (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/views.pyt   <module>   s6       $	4    $	