ó
 KMc           @   sØ   d  Z  e 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 d d l	 m
 Z
 d d l m Z m Z m Z d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d	 e j f d
 „  ƒ  YZ d „  Z d S(   s"   Tests for the OAuth-aware classes.iÿÿÿÿN(   t   oauth(   t   AccessTokent   Consumert   OAuthAuthorizert   TestConsumerc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sO   t  d d d ƒ } |  j | j d ƒ |  j | j d ƒ |  j | j d ƒ d  S(   Nt   keyt   secrett   application(   R   t   assertEqualsR   R   t   application_name(   t   selft   consumer(    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   test_data_fields(   s    c         C   s&   t  d d ƒ } |  j | j d  ƒ d  S(   NR   R   (   R   R   R	   t   None(   R
   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   test_default_application_name.   s    (   t   __name__t
   __module__R   R   (    (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyR   &   s   	t   TestSystemWideConsumerc           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C   s   t  j |  _ t  j |  _ d S(   ss   Save the original 'platform' and 'socket' modules.

        The tests will be replacing them with dummies.
        N(   R    t   platformt   original_platformt   sockett   original_socket(   R
   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   setUp6   s    c         C   s   |  j  t _ |  j t _ d S(   s5   Replace the original 'platform' and 'socket' modules.N(   R   R    R   R   R   (   R
   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   tearDown>   s    c            s)   d d ‡  f d †  ƒ  Y} | ƒ  t  _ d S(   s9   Changes the socket module to simulate the given hostname.t   DummySocketc              s   e  Z ‡  f d  †  Z RS(   c            s   ˆ  S(   N(    (   R
   (   t   hostname(    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   gethostnameF   s    (   R   R   R   (    (   R   (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyR   E   s   N(    (   R    R   (   R
   R   R   (    (   R   sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   _set_hostnameC   s    c            sS   t  ˆ  t ƒ r! ‡  f d †  ‰ n ˆ  ‰ d d ‡ ‡ f d †  ƒ  Y} | ƒ  t _ d S(   s  Changes the platform module to simulate different behavior.

        :param linux_distribution: A tuple to be returned by
            linux_distribution(), or a callable that implements
            linux_distribution().
        :param system: A string to be returned by system()
        c            s   ˆ  S(   N(    (   R
   (   t   linux_distribution(    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   get_linux_distributionT   s    t   DummyPlatformc              s   e  Z ˆ  Z ‡ f d  †  Z RS(   c            s   ˆ  S(   N(    (   R
   (   t   system(    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyR   ]   s    (   R   R   R   R   (    (   R   R   (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyR   [   s   N(    (   t
   isinstancet   tupleR    R   (   R
   R   R   R   (    (   R   R   R   sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   _set_platformJ   s
    	c         C   s   t  d ƒ ‚ d S(   s   Raises an exception.s   Oh noes!N(   t	   Exception(   R
   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   _brokena   s    c         C   sC   |  j  d d ƒ |  j d ƒ t j d ƒ } |  j | j d ƒ d  S(	   Nt   Fooixt   String2t   String3t   FooOSt   foos   app names   System-wide: Fooix (foo)(   R%   R&   R'   (   R"   R   R    t   SystemWideConsumerR   R   (   R
   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   test_useful_linux_distributione   s
    c         C   sC   |  j  d d ƒ |  j d ƒ t j d ƒ } |  j | j d ƒ d  S(   Nt    t   BarOSt   bars   app names   System-wide: BarOS (bar)(   R,   R,   R,   (   R"   R   R    R*   R   R   (   R
   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   test_empty_linux_distributiono   s
    c         C   sF   |  j  |  j d ƒ |  j d ƒ t j d ƒ } |  j | j d ƒ d  S(   Nt   BazOSt   bazs   app names   System-wide: BazOS (baz)(   R"   R$   R   R    R*   R   R   (   R
   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   test_broken_linux_distributiony   s
    (
   R   R   R   R   R   R"   R$   R+   R/   R2   (    (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyR   4   s   						
	
t   TestOAuthAuthorizerc           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s   Test for the OAuth Authorizer.c         C   s   t  j ƒ  |  _ d  S(   N(   t   tempfilet   mkdtempt   temp_dir(   R
   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyR   ‡   s    c         C   s   t  j |  j ƒ d  S(   N(   t   shutilt   rmtreeR6   (   R
   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyR   Š   s    c         C   sù   t  j j |  j d ƒ } t d d d d t d d ƒ ƒ} | j | ƒ |  j t  j j | ƒ ƒ |  j	 t
 j t  j
 | ƒ j ƒ t
 j t
 j Bƒ t j | ƒ } |  j | j j d ƒ |  j | j j d ƒ |  j | j j d ƒ |  j | j j d ƒ d  S(   Nt   credentialss   consumer.keyt   consumer_secrets   consumer.secrett   access_tokens
   access.keys   access.secret(   t   ost   patht   joinR6   R   R   t   save_to_patht
   assertTruet   existsR   t   statt   S_IMODEt   st_modet   S_IREADt   S_IWRITEt   load_from_patht   assertEqualR   R   R   R;   (   R
   t   credentials_pathR9   t   loaded_credentials(    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt    test_save_to_and_load_from__path   s     (   R   R   t   __doc__R   R   RK   (    (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyR3   „   s   		c           C   s   t  j ƒ  j t ƒ S(   N(   t   unittestt
   TestLoadert   loadTestsFromNameR   (    (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt
   test_suite¥   s    (   RL   t   typet   __metaclass__R<   t   os.pathR7   RB   R4   RM   t   lazr.restfulclient.authorizeR    t"   lazr.restfulclient.authorize.oauthR   R   R   t   TestCaseR   R   R3   RP   (    (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_oauth.pyt   <module>   s   P!