B
    18\                 @   s   d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ d	Zd
ZdZG dd de
je
je
jejZG dd deZdd Zedkree  dS )z"Tests for distutils.pypirc.pypirc.    N)PyPIRCCommand)Distribution)set_threshold)WARN)support)run_unittestz[distutils]

index-servers =
    server1
    server2
    server3

[server1]
username:me
password:secret

[server2]
username:meagain
password: secret
realm:acme
repository:http://another.pypi/

[server3]
username:cbiggles
password:yh^%#rest-of-my-password
z.[server-login]
username:tarek
password:secret
zI[distutils]
index-servers =
    pypi

[pypi]
username:tarek
password:xxx
c                   s(   e Zd Z fddZ fddZ  ZS )BasePyPIRCCommandTestCasec                sb   t t|   |  | _| jtjd< tj| jd| _	t
 | _G dd dt}|| _tt| _dS )zPatches the environment.HOMEz.pypircc               @   s    e Zd Zdd Zdd ZeZdS )z0BasePyPIRCCommandTestCase.setUp.<locals>.commandc             S   s   t | | d S )N)r   __init__)selfdist r   _/oak/stanford/groups/akundaje/marinovg/programs/Python-3.7.3/Lib/distutils/tests/test_config.pyr
   C   s    z9BasePyPIRCCommandTestCase.setUp.<locals>.command.__init__c             S   s   d S )Nr   )r   r   r   r   initialize_optionsE   s    zCBasePyPIRCCommandTestCase.setUp.<locals>.command.initialize_optionsN)__name__
__module____qualname__r
   r   finalize_optionsr   r   r   r   commandB   s   r   N)superr   setUpmkdtemptmp_dirosenvironpathjoinrcr   r   r   _cmdr   r   old_threshold)r   r   )	__class__r   r   r   :   s    
zBasePyPIRCCommandTestCase.setUpc                s   t | j tt|   dS )zRemoves the patch.N)r   r   r   r   tearDown)r   )r    r   r   r!   L   s    
z"BasePyPIRCCommandTestCase.tearDown)r   r   r   r   r!   __classcell__r   r   )r    r   r   5   s   r   c               @   s$   e Zd Zdd Zdd Zdd ZdS )PyPIRCCommandTestCasec             C   s   |  | jt | | j}| }tt| }dddddg}| 	|| |  | jt
 | }tt| }dddddg}| 	|| d S )N)passwordZsecret)realmpypi)
repositoryzhttps://upload.pypi.org/legacy/)serverZserver1)usernameme)r(   zserver-login)r)   tarek)
write_filer   PYPIRCr   r   _read_pypirclistsorteditemsassertEqual
PYPIRC_OLD)r   cmdconfigwaitedr   r   r   test_server_registrationT   s    z.PyPIRCCommandTestCase.test_server_registrationc             C   st   |  | j}| }| tj| |dd | tj| t	|}z|
 }| |t W d |  X d S )Nr+   xxx)r   r   _get_rc_fileassertFalser   r   exists_store_pypirc
assertTrueopenreadr2   WANTEDclose)r   r4   r   fcontentr   r   r   test_server_empty_registrationm   s    z4PyPIRCCommandTestCase.test_server_empty_registrationc             C   sV   |  | jt | | j}d|_| }tt|	 }dddddg}| 
|| d S )Nserver3)r$   zyh^%#rest-of-my-password)r%   r&   )r'   zhttps://upload.pypi.org/legacy/)r(   rE   )r)   Zcbiggles)r,   r   r-   r   r   r'   r.   r/   r0   r1   r2   )r   r4   r5   r6   r   r   r   test_config_interpolationz   s    z/PyPIRCCommandTestCase.test_config_interpolationN)r   r   r   r7   rD   rF   r   r   r   r   r#   R   s   r#   c               C   s
   t tS )N)unittest	makeSuiter#   r   r   r   r   
test_suite   s    rI   __main__)__doc__r   rG   distutils.corer   r   Zdistutils.logr   r   distutils.testsr   Ztest.supportr   r-   r3   r@   TempdirManagerLoggingSilencerEnvironGuardTestCaser   r#   rI   r   r   r   r   r   <module>   s&   
6