ó
ÉHRc           @  s  d  d l  m Z d  d l Z d  d l j j Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l m Z m Z d  d l m Z m Z d  d l m Z y d  d l m Z Wn! e k
 rÅ d  d l m Z n Xe
 j d d k rè e Z e Z n e Z e Z d	 e	 j f d
 „  ƒ  YZ d S(   iÿÿÿÿ(   t   unicode_literalsN(   t   SIGNATURE_TYPE_QUERYt   SIGNATURE_TYPE_BODY(   t   SIGNATURE_RSAt   SIGNATURE_PLAINTEXT(   t   OAuth1Session(   t   StringIOi    u   3t   OAuth1SessionTestc           B  sÅ   e  Z d  „  Z d „  Z e j d ƒ e j d ƒ d „  ƒ ƒ Z e j d ƒ e j d ƒ d „  ƒ ƒ Z e j d ƒ e j d ƒ d „  ƒ ƒ Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z RS(   c           s(   t  ˆ  d ƒ s$ ‡  f d †  ˆ  _ n  d  S(   Nu   assertInc           s   ˆ  j  |  | k ƒ S(   N(   t
   assertTrue(   t   at   b(   t   self(    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   <lambda>   s    (   t   hasattrt   assertIn(   R   (    (   R   sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   setUp   s    c           s¹   ‡  f d †  } t  d ƒ } | d „  ƒ | _ | j d ƒ t  d d t ƒ} | d „  ƒ | _ | j d ƒ t  d d t ƒ} i d d 6} | d	 „  ƒ | _ | j d d
 | d d ƒd  S(   Nc           s   ‡  ‡ f d †  } | S(   Nc           sV   ˆ  |  ƒ } t  | t ƒ r- | j d ƒ } n  ˆ j d | ƒ t j ƒ  } g  | _ | S(   Nu   utf-8u   oauth_signature(   t
   isinstancet
   bytes_typet   decodeR   t   mockt	   MagicMockt   cookes(   t   rt   kwargst	   signaturet   resp(   t   getterR   (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt	   fake_send    s    	(    (   R   R   (   R   (   R   sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   verify_signature   s    u   fooc         S  s   |  j  d S(   Nu   Authorization(   t   headers(   R   (    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyR   +   s    u   https://i.bt   signature_typec         S  s   |  j  S(   N(   t   url(   R   (    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyR   /   s    u!   application/x-www-form-urlencodedu   Content-Typec         S  s   |  j  S(   N(   t   body(   R   (    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyR   4   s    R   t   datau    (   R   t   sendt   postR   R   (   R   R   t   headert   queryR    R   (    (   R   sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   test_signature_types   s    u*   oauthlib.oauth1.rfc5849.generate_timestampu&   oauthlib.oauth1.rfc5849.generate_noncec         C  sÁ   d | _  d | _  d } t d ƒ } |  j | ƒ | _ | j d ƒ d } t d d t ƒ} |  j | ƒ | _ | j d ƒ d } d	 } t d d t d
 | ƒ} |  j | ƒ | _ | j d ƒ d  S(   Nu   abcu   123u³   OAuth oauth_nonce="abc", oauth_timestamp="123", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="foo", oauth_signature="h2sRqLArjhlc5p3FTkuNogVHlKE%3D"u   foou   https://i.bu˜   OAuth oauth_nonce="abc", oauth_timestamp="123", oauth_version="1.0", oauth_signature_method="PLAINTEXT", oauth_consumer_key="foo", oauth_signature="%26"t   signature_methoduŠ  -----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEApF1JaMSN8TEsh4N4O/5SpEAVLivJyLH+Cgl3OQBPGgJkt8cg
49oasl+5iJS+VdrILxWM9/JCJyURpUuslX4Eb4eUBtQ0x5BaPa8+S2NLdGTaL7nB
OO8o8n0C5FEUU+qlEip79KE8aqOj+OC44VsIquSmOvWIQD26n3fCVlgwoRBD1gzz
sDOeaSyzpKrZR851Kh6rEmF2qjJ8jt6EkxMsRNACmBomzgA4M1TTsisSUO87444p
e35Z4/n5c735o2fZMrGgMwiJNh7rT8SYxtIkxngioiGnwkxGQxQ4NzPAHg+XSY0J
04pNm7KqTkgtxyrqOANJLIjXlR+U9SQ90NjHVQIDAQABAoIBABuBPOKaWcJt3yzC
NGGduoif7KtwSnEaUA+v69KPGa2Zju8uFHPssKD+4dZYRc2qMeunKJLpaGaSjnRh
yHyvvOBJCN1nr3lhz6gY5kzJTfwpUFXCOPJlGy4Q+2Xnp4YvcvYqQ9n5DVovDiZ8
vJOBn16xqpudMPLHIa7D5LJ8SY76HBjE+imTXw1EShdh5TOV9bmPFQqH6JFzowRH
hyH2DPHuyHJj6cl8FyqJw5lVWzG3n6Prvk7bYHsjmGjurN35UsumNAp6VouNyUP1
RAEcUJega49aIs6/FJ0ENJzQjlsAzVbTleHkpez2aIok+wsWJGJ4SVxAjADOWAaZ
uEJPc3UCgYEA1g4ZGrXOuo75p9/MRIepXGpBWxip4V7B9XmO9WzPCv8nMorJntWB
msYV1I01aITxadHatO4Gl2xLniNkDyrEQzJ7w38RQgsVK+CqbnC0K9N77QPbHeC1
YQd9RCNyUohOimKvb7jyv798FBU1GO5QI2eNgfnnfteSVXhD2iOoTOsCgYEAxJJ+
8toxJdnLa0uUsAbql6zeNXGbUBMzu3FomKlyuWuq841jS2kIalaO/TRj5hbnE45j
mCjeLgTVO6Ach3Wfk4zrqajqfFJ0zUg/Wexp49lC3RWiV4icBb85Q6bzeJD9Dn9v
hjpfWVkczf/NeA1fGH/pcgfkT6Dm706GFFttLL8CgYBl/HeXk1H47xAiHO4dJKnb
v0B+X8To/RXamF01r+8BpUoOubOQetdyX7ic+d6deuHu8i6LD/GSCeYJZYFR/KVg
AtiW757QYalnq3ZogkhFrVCZP8IRfTPOFBxp752TlyAcrSI7T9pQ47IBe4094KXM
CJWSfPgAJkOxd0iU0XJpmwKBgGfQxuMTgSlwYRKFlD1zKap5TdID8fbUbVnth0Q5
GbH7vwlp/qrxCdS/aj0n0irOpbOaW9ccnlrHiqY25VpVMLYIkt3DrDOEiNNx+KNR
TItdTwbcSiTYrS4L0/56ydM/H6bsfsXxRjI18hSJqMZiqXqS84OZz2aOn+h7HCzc
LEiZAoGASk20wFvilpRKHq79xxFWiDUPHi0x0pp82dYIEntGQkKUWkbSlhgf3MAi
5NEQTDmXdnB+rVeWIvEi+BXfdnNgdn8eC4zSdtF4sIAhYr5VWZo0WVWDhT7u2ccv
ZBFymiz8lo3gN57wGUCi9pbZqzV1+ZppX6YTNDdDCE0q+KO3Cec=
-----END RSA PRIVATE KEY-----u  OAuth oauth_nonce="abc", oauth_timestamp="123", oauth_version="1.0", oauth_signature_method="RSA-SHA1", oauth_consumer_key="foo", oauth_signature="j8WF8PGjojT82aUDd2EL%2Bz7HCoHInFzWUpiEKMCy%2BJ2cYHWcBS7mXlmFDLgAKV0P%2FyX4TrpXODYnJ6dRWdfghqwDpi%2FlQmB2jxCiGMdJoYxh3c5zDf26gEbGdP6D7OSsp5HUnzH6sNkmVjuE%2FxoJcHJdc23H6GhOs7VJ2LWNdbhKWP%2FMMlTrcoQDn8lz%2Fb24WsJ6ae1txkUzpFOOlLM8aTdNtGL4OtsubOlRhNqnAFq93FyhXg0KjzUyIZzmMX9Vx90jTks5QeBGYcLE0Op2iHb2u%2FO%2BEgdwFchgEwE5LgMUyHUI4F3Wglp28yHOAMjPkI%2FkWMvpxtMrU3Z3KN31WQ%3D%3D"t   rsa_key(   t   return_valueR   R   R"   R#   R   R   (   R   t   generate_noncet   generate_timestampR   t   authR(   (    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   test_signature_methods7   s     			c         C  su   d | _  d | _  t d ƒ } i d d 6} d } t d ƒ } |  j | ƒ | _ | j d d	 | d
 d | f g ƒd  S(   Nu   abcu   123u   hello worldu   application/xmlu   Content-Typeu³   OAuth oauth_nonce="abc", oauth_timestamp="123", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="foo", oauth_signature="h2sRqLArjhlc5p3FTkuNogVHlKE%3D"u   foou   https://i.bR   t   filesu   fake(   R)   R   R   R   R"   R#   (   R   R*   R+   t   fake_xmlR   R   R,   (    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   test_binary_uploadh   s    		c         C  sG   d | _  d | _  d } t d ƒ } |  j | ƒ | _ | j d ƒ d  S(   Nu   abcu   123u³   OAuth oauth_nonce="abc", oauth_timestamp="123", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="foo", oauth_signature="W0haoue5IZAZoaJiYCtfqwMf8x8%3D"u   foou"   https://i.b?cjk=%E5%95%A6%E5%95%A6(   R)   R   R   R"   R#   (   R   R*   R+   R   R,   (    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   test_nonasciit   s    		c         C  sI   t  d ƒ } d } d } | j | d | ƒ} |  j | | d | ƒ d  S(   Nu   foou   https://example.comm/authorizeu   asluif023sft   request_tokenu   ?oauth_token=(   R   t   authorization_urlt   assertEqual(   R   R,   R   t   tokent   auth_url(    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   test_authorization_url~   s
    c         C  s–   d } t  d ƒ } | j | ƒ } |  j | d d ƒ |  j | d d ƒ xF | j ƒ  D]8 \ } } |  j t | t ƒ ƒ |  j t | t ƒ ƒ qV Wd  S(   Nu7   https://i.b/callback?oauth_token=foo&oauth_verifier=baru   foou   oauth_tokenu   oauth_verifieru   bar(   R   t   parse_authorization_responseR4   t   itemsR   R   t   unicode_type(   R   R   R,   R   t   kt   v(    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   test_parse_response_url…   s    c         C  sŽ   t  d ƒ } |  j d ƒ | _ | j d ƒ } |  j | d d ƒ xF | j ƒ  D]8 \ } } |  j t | t ƒ ƒ |  j t | t ƒ ƒ qN Wd  S(   Nu   foou   oauth_token=foou   https://example.com/tokenu   oauth_token(	   R   t	   fake_bodyR"   t   fetch_request_tokenR4   R9   R   R   R:   (   R   R,   R   R;   R<   (    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   test_fetch_request_token   s    c         C  s”   t  d d d ƒ} |  j d ƒ | _ | j d ƒ } |  j | d d ƒ xF | j ƒ  D]8 \ } } |  j t | t ƒ ƒ |  j t | t ƒ ƒ qT Wd  S(   Nu   foot   verifieru   baru   oauth_token=foou   https://example.com/tokenu   oauth_token(	   R   R>   R"   t   fetch_access_tokenR4   R9   R   R   R:   (   R   R,   R   R;   R<   (    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   test_fetch_access_token˜   s    c           s   ‡  ‡ f d †  } | S(   Nc           sW   |  j  d } t | t ƒ r. | j d ƒ } n  ˆ  j | ˆ ƒ t j ƒ  } g  | _ | S(   Nu   Authorizationu   utf-8(   R   R   R   R   R4   R   R   R   (   R   R   t   auth_headerR   (   R   R   (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyR   ¢   s    	(    (   R   R   R   (    (   R   R   sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyR   ¡   s    c           s   ‡  f d †  } | S(   Nc           s"   t  j ƒ  } g  | _ ˆ  | _ | S(   N(   R   R   R   t   text(   R   R   R   (   R    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyR   ­   s    		(    (   R   R    R   (    (   R    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyR>   ¬   s    (   t   __name__t
   __module__R   R&   R   t   patchR-   R0   R1   R7   R=   R@   RC   R   R>   (    (    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyR      s   		0			
					(   t
   __future__R    t   __builtin__t   @py_builtinst   _pytest.assertion.rewritet	   assertiont   rewritet
   @pytest_arR   t   unittestt   syst   oauthlib.oauth1R   R   R   R   t   requests_oauthlibR   R   t   ImportErrort   iot   versiont   strR:   t   bytesR   t   unicodet   TestCaseR   (    (    (    sX   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_oauth1_session.pyt   <module>   s$     	