U
    [e                     @   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   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/var/www/html/services/stratfitenv/lib/python3.8/site-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d Zd	S )
TestAccessTokenc                 C   s:   t ddd}| |jd | |jd | |jd d S )Nr
   r   context)r   r   r
   r   r   r   access_tokenr   r   r   r   :   s    z TestAccessToken.test_data_fieldsc                 C   s   t dd}| |j d S r   )r   Z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   Z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   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_nameT   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(   barr)   zSystem-wide: BarOS (bar)r*   r   r   r   r   test_empty_distro_name^   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_nameh   s     z.TestSystemWideConsumer.test_broken_distro_nameN)r   r   r   r,   r/   r1   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)Zconsumer_secretr   )r+   r   pathosjoinr   r   Zsave_to_path
assertTrueexistsr   statS_IMODEst_modeS_IREADS_IWRITEZload_from_pathr   r
   r   r   )r   temp_dirZcredentials_pathr3   Zloaded_credentialsr   r   r    test_save_to_and_load_from__pathw   s4     


   z4TestOAuthAuthorizer.test_save_to_and_load_from__pathN)r   r   r   __doc__r?   r   r   r   r   r2   t   s   r2   c                   C   s   t  tS )N)unittestZ
TestLoaderZloadTestsFromNamer   r   r   r   r   
test_suite   s    rB   )r@   typeZ__metaclass__r5   os.pathr9   rA   Zfixturesr   r   Z	testtoolsr   Z"lazr.restfulclient.authorize.oauthr   r   r   r   r	   r   r$   r2   rB   r   r   r   r   <module>   s   "