
    ;eM                        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e
j        e
j        e
j        ej                  Z G d de          Zd Zedk    r e e                       dS 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                   (     e Zd Z fdZ fdZ xZS )BasePyPIRCCommandTestCasec                    t          t          |                                            |                                 | _        | j        t
          j        d<   | j        t
          j        d<   t
          j                            | j        d          | _	        t                      | _         G d dt                    }|| _        t          t                    | _        dS )zPatches the environment.HOMEUSERPROFILEz.pypircc                       e Zd Zd Zd ZeZdS )0BasePyPIRCCommandTestCase.setUp.<locals>.commandc                 0    t          j        | |           d S N)r   __init__)selfdists     2/usr/lib/python3.11/distutils/tests/test_config.pyr   z9BasePyPIRCCommandTestCase.setUp.<locals>.command.__init__D   s    &tT22222    c                     d S r    )r   s    r   initialize_optionszCBasePyPIRCCommandTestCase.setUp.<locals>.command.initialize_optionsF   s    r   N)__name__
__module____qualname__r   r   finalize_optionsr   r   r   commandr   C   s4        3 3 3  1r   r   N)superr
   setUpmkdtemptmp_dirosenvironpathjoinrcr   r   r   _cmdr   r   old_threshold)r   r   	__class__s     r   r    zBasePyPIRCCommandTestCase.setUp:   s    '..44666||~~!\
6$(L
=!',,t|Y77 NN		2 	2 	2 	2 	2m 	2 	2 	2 	*400r   c                 ~    t          | j                   t          t          |                                            dS )zRemoves the patch.N)r   r)   r   r
   tearDown)r   r*   s    r   r,   z"BasePyPIRCCommandTestCase.tearDownM   s7    d()))'..7799999r   )r   r   r   r    r,   __classcell__)r*   s   @r   r
   r
   5   sQ        
1 1 1 1 1&: : : : : : : : :r   r
   c                        e Zd Zd Zd Zd ZdS )PyPIRCCommandTestCasec                 *   |                      | j        t                     |                     | j                  }|                                }t          t          |                                                    }g d}| 	                    ||           |                      | j        t                     |                                }t          t          |                                                    }g d}| 	                    ||           d S )N)passwordsecretrealmpypi
repositoryzhttps://upload.pypi.org/legacy/)serverserver1)usernameme)r1   r4   r7   )r9   zserver-login)r;   tarek)
write_filer'   PYPIRCr(   r   _read_pypirclistsorteditemsassertEqual
PYPIRC_OLDr   cmdconfigwaiteds       r   test_server_registrationz.PyPIRCCommandTestCase.test_server_registrationU   s     	(((ii	""!!##fV\\^^,,--= = = 	((( 	,,,!!##fV\\^^,,--E E E 	(((((r   c                 .   |                      | j                  }|                                }|                     t          j                            |                     |                    dd           |                     t          j                            |                     t          |          }	 |
                                }|                     |t                     |                                 d S # |                                 w xY w)Nr=   xxx)r(   r   _get_rc_fileassertFalser#   r%   exists_store_pypirc
assertTrueopenreadrD   WANTEDclose)r   rG   r'   fcontents        r   test_server_empty_registrationz4PyPIRCCommandTestCase.test_server_empty_registrationn   s    ii	""++,,,'5)))r**+++HH	ffhhGWf---GGIIIIIAGGIIIIs   9/C> >Dc                 @   |                      | j        t                     |                     | j                  }d|_        |                                }t          t          |	                                                    }g d}| 
                    ||           d S )Nserver3))r2   zyh^%#rest-of-my-passwordr4   r7   )r9   rZ   )r;   cbiggles)r>   r'   r?   r(   r   r8   r@   rA   rB   rC   rD   rF   s       r   test_config_interpolationz/PyPIRCCommandTestCase.test_config_interpolation{   s    (((ii	"""!!##fV\\^^,,--C C C 	(((((r   N)r   r   r   rJ   rX   r\   r   r   r   r/   r/   S   sA        ) ) )2  ) ) ) ) )r   r/   c                  X    t          j                                        t                    S r   )unittest
TestLoaderloadTestsFromTestCaser/   r   r   r   
test_suitera      s       667LMMMr   __main__)__doc__r#   r^   distutils.corer   r   distutils.logr   r   distutils.testsr   test.supportr   r?   rE   rT   TempdirManagerLoggingSilencerEnvironGuardTestCaser
   r/   ra   r   r   r   r   <module>rl      sL   ( ( 				  ( ( ( ( ( ( ' ' ' ' ' ' ' ' ' ' ' '       # # # # # # % % % % % %
.

: : : : : 6#3#0$-: : :<3) 3) 3) 3) 3)5 3) 3) 3)lN N N zL r   