î
¾?T=  ã               @   sÑ   d  d l  Z d  d l j j Z d  d l Z e j d d … d k rS e j d ƒ n  d  d l	 m
 Z
 d  d l m Z m Z d d l m Z m Z d d	 l m Z m Z m Z Gd
 d „  d e
 ƒ Z d d „  Z d S)é    Né   é   zBroken on Python 3.3)Ú
Controller)Ú
check_authÚdigest_authé   )Ú	HTTPErrorÚHTTPDigestAuthHandler)ÚurlopenÚbuild_openerÚinstall_openerc               @   s   e  Z d  Z d d „  Z d S)ÚRootc             C   sK   d } i d d 6} t  |  j |  j | | ƒ r2 d St |  j |  j | | ƒ S)NÚTestÚadminzHello World!)r   ÚrequestÚresponser   )ÚselfÚrealmÚusers© r   ú9/home/prologic/work/circuits/tests/web/test_digestauth.pyÚindex   s
    z
Root.indexN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   c             C   sQ  y t  |  j j j ƒ } WnÍt k
 rè} z­| j } d } | | k } | sô t j d | f d | | f ƒ i t j | ƒ d 6t j | ƒ d 6d t	 j
 ƒ  k s± t j | ƒ rÀ t j | ƒ n d d 6} d i | d
 6} t t j | ƒ ƒ ‚ n  t } } } | j } d } | | k } | sÈt j d | f d | | f ƒ i t j | ƒ d 6t j | ƒ d 6d t	 j
 ƒ  k s…t j | ƒ r”t j | ƒ n d d 6} d i | d
 6} t t j | ƒ ƒ ‚ n  t } } } WYd  d  } ~ XnE Xd } | s'd i t j | ƒ d 6}	 t t j |	 ƒ ƒ ‚ n  t } t ƒ  }
 |
 j d |  j j j d d ƒ t |
 ƒ } t | ƒ t  |  j j j ƒ } | j ƒ  } d } | | k } | s9t j d | f d | | f ƒ i t j | ƒ d 6d t	 j
 ƒ  k söt j | ƒ rt j | ƒ n d d 6} d  i | d 6} t t j | ƒ ƒ ‚ n  t } } t d  ƒ d  S)!Ni‘  ú==ú,%(py2)s
{%(py2)s = %(py0)s.code
} == %(py5)sÚpy5Úpy2ÚeÚpy0Ú úassert %(py7)sÚpy7ÚUnauthorizedú+%(py2)s
{%(py2)s = %(py0)s.msg
} == %(py5)sFúassert %(py1)sÚpy1r   r   s   Hello World!ú%(py0)s == %(py3)sÚpy3Úsúassert %(py5)s)r   )r   r"   )r   )r%   r"   r&   )r   )r(   r+   )r
   ÚserverÚhttpÚbaser   ÚcodeÚ
@pytest_arÚ_call_reprcompareÚ	_safereprÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚAssertionErrorÚ_format_explanationÚNoneÚmsgr	   Úadd_passwordr   r   Úread)ÚwebappÚfr   Ú@py_assert1Ú@py_assert4Ú@py_assert3Ú@py_format6Ú@py_format8Ú@py_assert0Ú@py_format2ÚhandlerÚopenerr*   Ú@py_assert2Ú@py_format4r   r   r   Útest   sL    	    |   	    |   !    	
   l   
rI   )r   r   )Úbuiltinsr3   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter0   ÚpytestÚPYVERÚskipÚcircuits.webr   Úcircuits.web.toolsr   r   Úhelpersr   r	   r
   r   r   r   rI   r   r   r   r   Ú<module>   s     