o
    JAf4  ã                   @   s¶   	 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rYeeƒ ƒ dS dS )é    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                    sp   	 t t| ƒ ¡  |  ¡ | _| jtjd< | jtjd< tj | jd¡| _	t
ƒ | _G dd„ dtƒ}|| _ttƒ| _d S )NÚHOMEÚUSERPROFILEz.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   ú2/usr/lib/python3.10/distutils/tests/test_config.pyr   D   s   z9BasePyPIRCCommandTestCase.setUp.<locals>.command.__init__c                 S   s   d S r   r   ©r   r   r   r   Úinitialize_optionsF   s   zCBasePyPIRCCommandTestCase.setUp.<locals>.command.initialize_optionsN)Ú__name__Ú
__module__Ú__qualname__r   r   Zfinalize_optionsr   r   r   r   ÚcommandC   s    r   )Úsuperr   ÚsetUpÚmkdtempZ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 r   )r   r    r   r   ÚtearDownr   r!   r   r   r#   M   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| ¡ ƒƒ}g d¢}|  	||¡ |   | jt
¡ | ¡ }tt| ¡ ƒƒ}g d¢}|  	||¡ d S )N)©ÚpasswordZsecret©ZrealmZpypi©Ú
repositoryzhttps://upload.pypi.org/legacy/)ÚserverZserver1)ÚusernameÚme)r&   r(   r)   )r+   zserver-login)r,   Útarek)Ú
write_filer   ÚPYPIRCr   r   Ú_read_pypircÚlistÚsortedÚitemsÚassertEqualÚ
PYPIRC_OLD©r   ÚcmdZconfigZwaitedr   r   r   Útest_server_registrationU   s   z.PyPIRCCommandTestCase.test_server_registrationc                 C   sz   |   | j¡}| ¡ }|  tj |¡¡ | dd¡ |  tj |¡¡ t	|ƒ}z| 
¡ }|  |t¡ W | ¡  d S | ¡  w )Nr.   Zxxx)r   r   Z_get_rc_fileZassertFalser   r   ÚexistsZ_store_pypircZ
assertTrueÚopenÚreadr5   ÚWANTEDÚclose)r   r8   r   ÚfZcontentr   r   r   Útest_server_empty_registrationn   s   z4PyPIRCCommandTestCase.test_server_empty_registrationc                 C   sP   |   | jt¡ |  | j¡}d|_| ¡ }tt| 	¡ ƒƒ}g d¢}|  
||¡ d S )NÚserver3))r'   zyh^%#rest-of-my-passwordr(   r)   )r+   rA   )r,   Zcbiggles)r/   r   r0   r   r   r*   r1   r2   r3   r4   r5   r7   r   r   r   Útest_config_interpolation{   s   z/PyPIRCCommandTestCase.test_config_interpolationN)r   r   r   r9   r@   rB   r   r   r   r   r%   S   s    r%   c                   C   s
   t  t¡S r   )ÚunittestZ	makeSuiter%   r   r   r   r   Ú
test_suite‰   s   
rD   Ú__main__)r   rC   Zdistutils.corer   r   Zdistutils.logr   r   Zdistutils.testsr   Ztest.supportr   r0   r6   r=   ZTempdirManagerZLoggingSilencerZEnvironGuardZTestCaser   r%   rD   r   r   r   r   r   Ú<module>   s,    ý6ÿ