ó
Cz^c           @   sU   d  d l  Z  d  d l m Z d  d l m Z m Z m Z d e  j f d „  ƒ  YZ d S(   iÿÿÿÿN(   t   Request(   t   strings_differt   parse_authz_headert   get_normalized_request_stringt	   TestUtilsc           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sž   |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j t d d ƒ ƒ |  j t d d ƒ ƒ |  j t d d ƒ ƒ d  S(   Nt    t   at   bt   cct   aat   Dt   EEE(   t
   assertTrueR   t   assertFalse(   t   self(    (    sB   /tmp/pip-unpacked-wheel-oHO_I_/lib/hawkauthlib/tests/test_utils.pyt   test_strings_differ   s    c         C   s)  d „  } t  | d ƒ ƒ } |  j | d d ƒ |  j | d d ƒ t  | d ƒ ƒ } |  j | d d ƒ |  j | d d	 ƒ |  j | d
 d ƒ t  | d ƒ ƒ } |  j | d d ƒ |  j | d d ƒ |  j | d
 d ƒ t  | d ƒ ƒ } |  j | d d ƒ |  j | d	 d ƒ |  j | d d ƒ |  j t t  | d  ƒ ƒ |  j t t  | d ƒ ƒ |  j t t  | d ƒ ƒ |  j t t  | d ƒ ƒ |  j t t  | d ƒ ƒ |  j t t  | d ƒ ƒ |  j t t  | d ƒ ƒ |  j t t  | d ƒ ƒ |  j t t  | d ƒ ƒ |  j d  t  | d  ƒ d  ƒ ƒ |  j d  t  | d ƒ d  ƒ ƒ |  j d  t  | d ƒ d  ƒ ƒ |  j d  t  | d ƒ d  ƒ ƒ |  j d  t  | d ƒ d  ƒ ƒ |  j d  t  | d ƒ d  ƒ ƒ |  j d  t  | d ƒ d  ƒ ƒ |  j d  t  | d ƒ d  ƒ ƒ |  j d  t  | d ƒ d  ƒ ƒ d  S(   Nc            s   d d ‡  f d †  ƒ  Y} | S(   s0   Make a fake request with the given authz header.t   requestc              s   e  Z i ˆ  d  6Z RS(   t   HTTP_AUTHORIZATION(   t   __name__t
   __module__t   environ(    (   t   authz(    sB   /tmp/pip-unpacked-wheel-oHO_I_/lib/hawkauthlib/tests/test_utils.pyR      s   (    (    (   R   R   (    (   R   sB   /tmp/pip-unpacked-wheel-oHO_I_/lib/hawkauthlib/tests/test_utils.pyt   req   s    s   Digest realm=hellot   schemet   Digestt   realmt   hellos   Digest test=one, again="two"t   testt   onet   againt   twos   Digest test="\"",again=""t   "R   s   Digest one="1\,2", two="3,4"s   1,2s   3,4t    s   Broken raw-tokens   Broken realm="unclosed-quotes   Broken realm=unopened-quote"s   Broken realm="unescaped"quote"s!   Broken realm="escaped-end-quote\"s%   Broken realm="duplicated",,what=comma(   R   t   assertEqualst   assertRaisest
   ValueErrort   None(   R   R   t   params(    (    sB   /tmp/pip-unpacked-wheel-oHO_I_/lib/hawkauthlib/tests/test_utils.pyt   test_parse_authz_header   s\    		c         C   sY   d } i d d 6d d 6d d 6} d } t  j | ƒ } t | | ƒ } |  j | | ƒ d  S(	   Ns<   GET /resource/1?b=1&a=2 HTTP/1.1
Host: example.com:8000

t
   1353832234t   tst   j4h3g2t   nonces   some-app-ext-datat   exts\   hawk.1.header
1353832234
j4h3g2
GET
/resource/1?b=1&a=2
example.com
8000

some-app-ext-data
(   R    t
   from_bytesR   R!   (   R   R   R%   t   sigstrt   mysigstr(    (    sB   /tmp/pip-unpacked-wheel-oHO_I_/lib/hawkauthlib/tests/test_utils.pyt8   test_normalized_request_string_against_example_from_spec[   s    

c         C   sX   d } t  j | ƒ } d i d d 6d d 6f | _ d } t | ƒ } |  j | | ƒ d  S(   Ns(   GET / HTTP/1.1
Host: example.com:88

t   Hawkt   1R(   t   2R*   s)   hawk.1.header
1
2
GET
/
example.com
88


(   R    R,   t   authorizationR   R!   (   R   R   R-   R.   (    (    sB   /tmp/pip-unpacked-wheel-oHO_I_/lib/hawkauthlib/tests/test_utils.pyt/   test_normalized_request_string_with_custom_portr   s    c         C   sa   d } t  j | ƒ } d i d d 6d d 6f | _ d | _ d } t | ƒ } |  j | | ƒ d  S(	   Ns%   GET / HTTP/1.1
Host: example.com

R0   R1   R(   R2   R*   t   httpss*   hawk.1.header
1
2
GET
/
example.com
443


(   R    R,   R3   R   R   R!   (   R   R   R-   R.   (    (    sB   /tmp/pip-unpacked-wheel-oHO_I_/lib/hawkauthlib/tests/test_utils.pyt0   test_normalized_request_string_with_https_schemez   s    	c         C   sR   d } t  j | ƒ } d i d d 6d d 6f | _ d | _ |  j t t | ƒ d  S(   Ns%   GET / HTTP/1.1
Host: example.com

R0   R1   R(   R2   R*   t   httptypo(   R    R,   R3   R   R"   R#   R   (   R   R   (    (    sB   /tmp/pip-unpacked-wheel-oHO_I_/lib/hawkauthlib/tests/test_utils.pyt:   test_normalized_request_string_errors_when_no_default_portƒ   s
    	(   R   R   R   R&   R/   R4   R6   R8   (    (    (    sB   /tmp/pip-unpacked-wheel-oHO_I_/lib/hawkauthlib/tests/test_utils.pyR      s   		@				(	   t   unittestt   webobR    t   hawkauthlib.utilsR   R   R   t   TestCaseR   (    (    (    sB   /tmp/pip-unpacked-wheel-oHO_I_/lib/hawkauthlib/tests/test_utils.pyt   <module>   s   