ó
É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 Z d  d l Z y d  d l m Z Wn! e k
 r¡ d  d l m Z n Xd  d l Z e	 j d d k rÊ e Z n e Z e j d ƒ e j d ƒ d e j f d	 „  ƒ  Yƒ ƒ Z d S(
   iÿÿÿÿ(   t   unicode_literalsN(   t   StringIOi    u   3u*   oauthlib.oauth1.rfc5849.generate_timestampu&   oauthlib.oauth1.rfc5849.generate_noncet
   OAuth1Testc           B  s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c           s   ‡  f d †  } | ˆ  _  d  S(   Nc           sV   t  |  t ƒ r! |  j d ƒ }  n  t  | t ƒ rB | j d ƒ } n  ˆ  j |  | ƒ d  S(   Nu   utf-8(   t
   isinstancet
   bytes_typet   decodet   assertEquals(   t   at   b(   t   self(    sN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyt   converting_equals   s
    (   t   assertEqual(   R	   R
   (    (   R	   sN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyt   setUp   s    c         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-typet   methodu   POSTt   urlu   http://a.b/path?query=retaint   autht   datau   this=really&is=&+form=encodedt   headersu   Content-Typeu   AuthorizationN(   t   return_valuet   requests_oauthlibt   OAuth1t   requestst   Requestt   prepareR   R   t   bodyR   t   get(   R	   t   generate_noncet   generate_timestampt   oauthR   t   rR   R   (    (    sN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyt   testFormEncoded"   s$    		c         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_keyR   u   POSTR   u   http://a.b/path?query=retainR   R   u   this really is not form encodedu   Authorizationt   filesu   hellou   testN(
   R   R   R   R   R   R   R   R   R   R   (   R	   R   R   R   R   R   R   t   c(    (    sN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyt   testNonFormEncoded;   s     			c         C  s»   d | _  d | _  t j d ƒ } t j j t ƒ } t j j | d ƒ } t | d ƒ ^ } t	 j
 d d i d d	 6d
 i t j j | j ƒ | f 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/postR   u   thereu   hiR   u   mediaR   iÈ   N(   R   R   R   t   ost   patht   dirnamet   __file__t   joint   openR   t   postt   basenamet   nameR   t   status_code(   R	   R   R   R   R$   t   fnamet   fR   (    (    sN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyt   testCanPostBinaryDataS   s    		"	c         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/getR   N(
   R   R   R   R   R   t
   assertTrueR   t   requestR   t   str(   R	   R   R   R   R   (    (    sN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyt   test_url_is_native_strd   s
    		c      
   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/getR   R   u   Content-Typeu!   application/x-www-form-urlencodedR   u   application/jsonu   Content-typeN(	   R   R   R   R   R(   R   R0   R   R   (   R	   R   R   R   R   R   (    (    sN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyt   test_content_type_overrideo   s    		(   t   __name__t
   __module__R   R   R!   R.   R2   R3   (    (    (    sN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyR      s   	
				(   t
   __future__R    t   __builtin__t   @py_builtinst   _pytest.assertion.rewritet	   assertiont   rewritet
   @pytest_art   mockt   sysR   R   t   os.pathR"   t   ioR   t   ImportErrort   unittestt   versiont   bytesR   R1   t   patcht   TestCaseR   (    (    (    sN   /Users/cory/Documents/Python/requests_org/requests-oauthlib/tests/test_core.pyt   <module>   s$     	