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   "