o
    Êä.^‡  ã                   @   s¨   d Z eZddl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 ddlmZmZmZmZ G dd„ deƒZG dd	„ d	eƒZG d
d„ deƒZG dd„ deƒZdd„ ZdS )z"Tests for the OAuth-aware classes.é    N)Ú	MockPatchÚTempDir)ÚTestCase)ÚAccessTokenÚConsumerÚOAuthAuthorizerÚSystemWideConsumerc                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestConsumerc                 C   ó:   t dddƒ}|  |jd¡ |  |jd¡ |  |jd¡ d S )NÚkeyÚsecretÚapplication)r   ÚassertEqualr   r   Úapplication_name©ÚselfÚconsumer© r   úE/usr/lib/python3/dist-packages/lazr/restfulclient/tests/test_oauth.pyÚtest_data_fields,   ó   zTestConsumer.test_data_fieldsc                 C   s   t ddƒ}|  |jd ¡ d S ©Nr   r   )r   r   r   r   r   r   r   Útest_default_application_name2   s   
z*TestConsumer.test_default_application_nameN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r	   *   s    r	   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestAccessTokenc                 C   r
   )Nr   r   Úcontext)r   r   r   r   r   ©r   Úaccess_tokenr   r   r   r   :   r   z TestAccessToken.test_data_fieldsc                 C   s   t ddƒ}|  |j¡ d S r   )r   ÚassertIsNoner   r   r   r   r   Útest_default_context@   s   
z$TestAccessToken.test_default_contextc                 C   s   t ddƒ}|  dt|ƒ¡ d S )Núlock&keyúsecret=passwordú;oauth_token_secret=secret%3Dpassword&oauth_token=lock%26key)r   r   Ústrr   r   r   r   Útest___str__E   s
   
þzTestAccessToken.test___str__c                 C   s*   t  d¡}|  |jd¡ |  |jd¡ d S )Nr$   r"   r#   )r   Úfrom_stringr   r   r   r   r   r   r   Útest_from_stringK   s
   ÿz TestAccessToken.test_from_stringN)r   r   r   r   r!   r&   r(   r   r   r   r   r   8   s
    r   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestSystemWideConsumerc                 C   óP   |   tddd�¡ |   tddd�¡ |   tddd�¡ tdƒ}|  |jd	¡ d S )
Núdistro.nameÚFooix©Úreturn_valueúplatform.systemÚFooOSúsocket.gethostnameÚfooúapp namezSystem-wide: Fooix (foo)©Ú
useFixturer   r   r   r   r   r   r   r   Útest_useful_distro_nameT   ó   ÿz.TestSystemWideConsumer.test_useful_distro_namec                 C   r*   )
Nr+   Ú r-   r/   ÚBarOSr1   Úbarr3   zSystem-wide: BarOS (bar)r4   r   r   r   r   Útest_empty_distro_name^   r7   z-TestSystemWideConsumer.test_empty_distro_namec                 C   sT   |   tdtdƒd�¡ |   tddd�¡ |   tddd�¡ td	ƒ}|  |jd
¡ d S )Nr+   zOh noes!)Úside_effectr/   ÚBazOSr-   r1   Úbazr3   zSystem-wide: BazOS (baz))r5   r   Ú	Exceptionr   r   r   r   r   r   r   Útest_broken_distro_nameh   s   ÿÿz.TestSystemWideConsumer.test_broken_distro_nameN)r   r   r   r6   r;   r@   r   r   r   r   r)   R   s    

r)   c                   @   s   e Zd ZdZdd„ ZdS )ÚTestOAuthAuthorizerzTest for the OAuth Authorizer.c                 C   s¼   |   tƒ ¡j}tj |d¡}tddtddƒd�}| |¡ |  tj 	|¡¡ |  
t t |¡j¡tjtjB ¡ t |¡}|  
|jjd¡ |  
|jjd¡ |  
|jjd¡ |  
|jjd¡ d S )NÚcredentialszconsumer.keyzconsumer.secretz
access.keyzaccess.secret)Úconsumer_secretr   )r5   r   ÚpathÚosÚjoinr   r   Úsave_to_pathÚ
assertTrueÚexistsr   ÚstatÚS_IMODEÚst_modeÚS_IREADÚS_IWRITEÚload_from_pathr   r   r   r   )r   Útemp_dirÚcredentials_pathrB   Úloaded_credentialsr   r   r   Ú test_save_to_and_load_from__pathw   s,   þ

ÿ
ÿÿÿz4TestOAuthAuthorizer.test_save_to_and_load_from__pathN)r   r   r   Ú__doc__rS   r   r   r   r   rA   t   s    rA   c                   C   s   t  ¡  t¡S )N)ÚunittestÚ
TestLoaderÚloadTestsFromNamer   r   r   r   r   Ú
test_suite‘   s   rX   )rT   ÚtypeÚ__metaclass__rE   Úos.pathrJ   rU   Úfixturesr   r   Ú	testtoolsr   Ú"lazr.restfulclient.authorize.oauthr   r   r   r   r	   r   r)   rA   rX   r   r   r   r   Ú<module>   s   "