
 ΏSl  c               @   sϊ   d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z y d  d l	 m
 Z
 Wn" e k
 r d  d l
 m
 Z
 Yn Xd  d l Z e j d  d k rΉ e Z n e Z e j d  e j d  Gd d   d e j    Z d S(	   i    (   u   unicode_literalsN(   u   StringIOu   3u*   oauthlib.oauth1.rfc5849.generate_timestampu&   oauthlib.oauth1.rfc5849.generate_noncec             B   sh   |  Ee  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d d   Z d d   Z	 d S(   u
   OAuth1Testc                s     f d d   } |   _  d  S(   Nc                sV   t  |  t  r! |  j d  }  n  t  | t  rB | j d  } n    j |  |  d  S(   Nu   utf-8(   u
   isinstanceu
   bytes_typeu   decodeu   assertEquals(   u   au   b(   u   self(    uN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu   converting_equals   s
    u+   OAuth1Test.setUp.<locals>.converting_equals(   u   assertEqual(   u   selfu   converting_equals(    (   u   selfuN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu   setUp   s    u   OAuth1Test.setUpc             C   sD  d | _  d | _  t j d  } i d d 6} t j d d d d	 d
 | d d d |  } | j   } |  j | j d	  |  j | j d  |  j | j	 j
 d  d  t j d d d d	 d
 | d d  } | j   } |  j | j d	  |  j | j d  |  j | j	 j
 d  d  |  j | j	 j
 d  | j	 j
 d   d S(   u=   OAuth1 assumes form encoded if content type is not specified.u   abcu   1u
   client_keyu!   application/x-www-form-urlencodedu   Content-typeu   methodu   POSTu   urlu   http://a.b/path?query=retainu   authu   datau   this=really&is=&+form=encodedu   headersu   Content-Typeu   AuthorizationN(   u   return_valueu   requests_oauthlibu   OAuth1u   requestsu   Requestu   prepareu   assertEqualu   urlu   bodyu   headersu   get(   u   selfu   generate_nonceu   generate_timestampu   oauthu   headersu   ru   au   b(    (    uN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu   testFormEncoded#   s$    		u   OAuth1Test.testFormEncodedc             C   s  d | _  d | _  t j d  } t j d d d d d | d	 d
  } | j   } t j d d d d d |  } | j   } |  j | j j d  | j j d   t j d d d d d | d i t	 d  d 6 } | j   } |  j | j j d  | j j d   d S(   u:   OAuth signature only depend on body if it is form encoded.u   abcu   1u
   client_keyu   methodu   POSTu   urlu   http://a.b/path?query=retainu   authu   datau   this really is not form encodedu   Authorizationu   filesu   hellou   testN(
   u   return_valueu   requests_oauthlibu   OAuth1u   requestsu   Requestu   prepareu   assertEqualu   headersu   getu   StringIO(   u   selfu   generate_nonceu   generate_timestampu   oauthu   ru   au   bu   c(    (    uN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu   testNonFormEncoded<   s     			u   OAuth1Test.testNonFormEncodedc             C   sΘ   d | _  d | _  t j d  } t j j t  } t j j | d  } t | d  k } t	 j
 d d i d d	 6d
 i t j j | j  | f d 6d i d d 6d | } |  j | j d  Wd QXd S(   ur   
        Test we can post binary data. Should prevent regression of the
        UnicodeDecodeError issue.
        u   abcu   1u
   client_keyu   test.binu   rbu   http://httpbin.org/postu   datau   thereu   hiu   filesu   mediau   headersu   application/octet-streamu   content-typeu   authiΘ   N(   u   return_valueu   requests_oauthlibu   OAuth1u   osu   pathu   dirnameu   __file__u   joinu   openu   requestsu   postu   basenameu   nameu   assertEqualu   status_code(   u   selfu   generate_nonceu   generate_timestampu   oauthu   dirnameu   fnameu   fu   r(    (    uN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu   testCanPostBinaryDataT   s    		"	u    OAuth1Test.testCanPostBinaryDatac             C   sV   d | _  d | _  t j d  } t j d d | } |  j t | j j t	   d S(   u>   
        Test that the URL is always a native string.
        u   abcu   1u
   client_keyu   http://httpbin.org/getu   authN(
   u   return_valueu   requests_oauthlibu   OAuth1u   requestsu   getu
   assertTrueu
   isinstanceu   requestu   urlu   str(   u   selfu   generate_nonceu   generate_timestampu   oauthu   r(    (    uN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu   test_url_is_native_strf   s
    		u!   OAuth1Test.test_url_is_native_strc          
   C   s¬   d | _  d | _  t j d  } d } t j d d | d | } |  j | j j j d  d	  t j d d | d | d
 i d d 6} |  j | j j j d  d  d S(   uG   
        Content type should only be guessed if none is given.
        u   abcu   1u
   client_keyu   au   http://httpbin.org/getu   datau   authu   Content-Typeu!   application/x-www-form-urlencodedu   headersu   application/jsonu   Content-typeN(	   u   return_valueu   requests_oauthlibu   OAuth1u   requestsu   postu   assertEqualu   requestu   headersu   get(   u   selfu   generate_nonceu   generate_timestampu   oauthu   datau   r(    (    uN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu   test_content_type_overrideq   s    		u%   OAuth1Test.test_content_type_overridec             C   sX  Gd d   d t  j j  } |  j t t j d   |  j t j j t  j j  t j d  } |  j t	 | j
 t  j j   |  j t	 | j
 |   | t j _ |  j t j j |  t j d  } |  j t	 | j
 t  j j   |  j t	 | j
 |   t j d d t  j j } |  j t	 | j
 t  j j   |  j t	 | j
 |   d  S(   Nc             B   s   |  Ee  Z d  Z d S(   u=   OAuth1Test.test_register_client_class.<locals>.ClientSubclassN(   u   __name__u
   __module__u   __qualname__(   u
   __locals__(    (    uN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu   ClientSubclass   s   u   ClientSubclassu   client_classu
   client_key(   u   oauthlibu   oauth1u   Clientu
   assertTrueu   hasattru   requests_oauthlibu   OAuth1u   assertEqualu   client_classu
   isinstanceu   clientu   assertFalse(   u   selfu   generate_timestampu   generate_nonceu   ClientSubclassu   normalu   customu
   overridden(    (    uN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu   test_register_client_class   s"    	u%   OAuth1Test.test_register_client_classN(
   u   __name__u
   __module__u   __qualname__u   setUpu   testFormEncodedu   testNonFormEncodedu   testCanPostBinaryDatau   test_url_is_native_stru   test_content_type_overrideu   test_register_client_class(   u
   __locals__(    (    uN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu
   OAuth1Test   s   
u
   OAuth1Test(   u
   __future__u   unicode_literalsu   mocku   sysu   requestsu   requests_oauthlibu   oauthlibu   os.pathu   osu   iou   StringIOu   ImportErroru   unittestu   versionu   bytesu
   bytes_typeu   stru   patchu   TestCaseu
   OAuth1Test(    (    (    uN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyu   <module>   s"   	