U
    UZ                     @   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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   s:   t ddd}| |jd | |jd | |jd d S )NkeysecretZapplication)r   assertEqualr
   r   application_nameselfconsumer r   E/usr/lib/python3/dist-packages/lazr/restfulclient/tests/test_oauth.pytest_data_fields,   s    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S )TestSystemWideConsumerc                 C   sP   |  tddd |  tddd |  tddd td}| |jd	 d S )
Ndistro.nameZFooixZreturn_valueplatform.systemZFooOSsocket.gethostnameZfooapp namezSystem-wide: Fooix (foo)
useFixturer   r   r   r
   r   r   r   r   test_useful_distro_name:   s     z.TestSystemWideConsumer.test_useful_distro_namec                 C   sP   |  tddd |  tddd |  tddd td}| |jd	 d S )
Nr    r   r   ZBarOSr   Zbarr   zSystem-wide: BarOS (bar)r   r   r   r   r   test_empty_distro_nameD   s     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!)Zside_effectr   ZBazOSr   r   Zbazr   zSystem-wide: BazOS (baz))r   r   	Exceptionr   r   r
   r   r   r   r   test_broken_distro_nameN   s     z.TestSystemWideConsumer.test_broken_distro_nameN)r   r   r   r    r"   r$   r   r   r   r   r   8   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)Zconsumer_secretaccess_token)r   r   pathosjoinr   r   Zsave_to_pathZ
assertTrueexistsr   statS_IMODEst_modeS_IREADS_IWRITEZload_from_pathr   r
   r   r'   )r   Ztemp_dirZcredentials_pathr&   Zloaded_credentialsr   r   r    test_save_to_and_load_from__path]   s4     


   z4TestOAuthAuthorizer.test_save_to_and_load_from__pathN)r   r   r   __doc__r1   r   r   r   r   r%   Z   s   r%   c                   C   s   t  tS )N)unittestZ
TestLoaderZloadTestsFromNamer   r   r   r   r   
test_suitew   s    r4   )r2   typeZ__metaclass__r)   os.pathr,   r3   Zfixturesr   r   Z	testtoolsr   Z"lazr.restfulclient.authorize.oauthr   r   r   r   r	   r   r%   r4   r   r   r   r   <module>   s   "