
    ]f"                     H   d Z ddlZddl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Z	 ddlZn# e$ r dZY nw xY wdZdZ G d d	          Z G d
 d          Z ej        d          d             Z ej        d          d             Z G d de          ZdS )z%Tests for distutils.command.register.    N)register)DistutilsSetupError)BasePyPIRCCommandTestCasez@[distutils]

index-servers =
    server1

[server1]
username:me
zN[distutils]
index-servers =
    pypi

[pypi]
username:tarek
password:password
c                        e Zd ZdZd ZddZdS )InputszFakes user inputs.c                 "    || _         d| _        d S )Nr   answersindex)selfr
   s     f/var/www/html/software/conda/lib/python3.11/site-packages/setuptools/_distutils/tests/test_register.py__init__zInputs.__init__+   s    


     c                 r    	 | j         | j                 | xj        dz  c_        S # | xj        dz  c_        w xY w)N   r	   )r   prompts     r   __call__zInputs.__call__/   s;    	<
+JJ!OJJJDJJ!OJJJJJJs   $ 6Nr   )__name__
__module____qualname____doc__r   r    r   r   r   r   (   s=               r   r   c                   4    e Zd ZdZd Zd ZddZd Zd	dZdS )

FakeOpenerzFakes a PyPI serverc                     g | _         d S N)reqsr   s    r   r   zFakeOpener.__init__9   s    			r   c                     | S r   r   )r   argss     r   r   zFakeOpener.__call__<   s    r   Nc                 :    | j                             |           | S r   )r   append)r   reqdatatimeouts       r   openzFakeOpener.open?   s    	r   c                     dS )N   xxxr   r    s    r   readzFakeOpener.readC   s    vr   c                 V    ddi                     |                                |          S )Nzcontent-typeztext/plain; charset=utf-8)getlower)r   namedefaults      r   	getheaderzFakeOpener.getheaderF   s)    7

#djjllG
$
$	%r   )NNr   )	r   r   r   r   r   r   r(   r+   r1   r   r   r   r   r   6   so                 % % % % % %r   r   T)autousec                 @    |                      t          dd            d S )Ngetpassc                     dS Npasswordr   r   s    r   <lambda>zautopass.<locals>.<lambda>N   s    : r   )setattrr4   )monkeypatchs    r   autopassr<   L   s$    ,E,EFFFFFr   c                     t                      }|                     t          j        d|           |                     t          j        dd            ||j        _        d S )Nbuild_opener_opener)r   r:   urllibrequestinstanceconn)r;   rA   openers      r   fake_openerrE   Q   sP    \\F???	4888"Gr   c                   F    e Zd ZddZd Zd Zd Zd Zd Zd Z	d	 Z
d
 ZdS )TestRegisterNc                 V    |	ddddddd} | j         di |\  }}t          |          S )Nxxxurlauthorauthor_emailr/   versionlong_descriptionr   )create_distr   )r   metadatapkg_infodists       r   _get_cmdzTestRegister._get_cmdZ   sP     % $) H *)55H55$~~r   c                    |                                  }t          j                            | j                  rJ t          ddd          }|j        t          _        	 |	                                 t          `n# t          `w xY wt          j        | j                                      d          t          k    sJ dd}|t          _        d|_        |	                                 t          | j        j                  d	k    sJ t%          | j        j        d
         j                  }t%          | j        j        d         j                  }|d         dk    sJ |d         dk    sJ d| j        j        d         j        v sJ d S )N1tarekyzutf-8)encodingr   c                      t          |           r   )AssertionErrorr8   s    r   _no_wayz0TestRegister.test_create_pypirc.<locals>._no_way   s     (((r   T   r   r   Content-length1358r*   r   )rT   ospathexistsrcr   r   register_moduleinputrunpathlibPath	read_textWANTED_PYPIRCshow_responselenrC   r   dictheadersr&   )r   cmdinputsr\   req1req2s         r   test_create_pypirczTestRegister.test_create_pypircg   s~   
 mmoo 7>>$'***** Wc** &	&GGIII%%%%%%% |DG$$...@@MQQQQ
	) 	) 	) 	) !( 			 49>""a''''DIN1%-..DIN1%-..$%////$%////*///////s   A: :	Bc                 
   |                      | j        t                     |                                 }|                                 |                                 |                                 |j        j        dk    sJ d S r6   )	
write_filerc   PYPIRC_NOPASSWORDrT   _set_configfinalize_optionssend_metadatadistributionr7   )r   ro   s     r   test_password_not_in_filez&TestRegister.test_password_not_in_file   sy    !2333mmoo (J666666r   c                    |                                  }t          ddd          }|j        t          _        	 |                                 t          `n# t          `w xY wt          | j        j                  dk    sJ | j        j        d         }t          |j
                  }|d         dk    sJ d|j        v sJ d S )	N2rW   tarek@ziade.orgr   r   r^   608   tarekrT   r   r   rd   re   rf   rl   rC   r   rm   rn   r&   r   ro   rp   r%   rn   s        r   test_registeringzTestRegister.test_registering   s    mmooW&788 &	&GGIII%%%%%%% 49>""a''''inQs{##'(E111138######s   A 	Ac                 ~   |                                  }t          dd          }|j        t          _        	 |                                 t          `n# t          `w xY wt          | j        j                  dk    sJ | j        j        d         }t          |j
                  }|d         dk    sJ d|j        v sJ d S )N3r~   r   r   r^   290r   r   r   s        r   test_password_resetz TestRegister.test_password_reset   s    mmoo.// &	&GGIII%%%%%%% 49>""a''''inQs{##'(E111138######s   A 	Ac                    t          j        d           |                     i           }|                                 d|_        t          j        t                    5  |                                 d d d            n# 1 swxY w Y   ddddddd}|                     |          }|                                 d|_        t          j        t                    5  |                                 d d d            n# 1 swxY w Y   d|d<   |                     |          }|                                 d|_        t          d	d
d          }|j	        t          _        	 |                                 t          `n# t          `w xY w|                                 }|                                 t          d	d
d          }|j	        t          _        	 |                                 t          `n# t          `w xY wdddddddd}|                     |          }|                                 d|_        t          d	d
d          }|j	        t          _        	 |                                 t          `d S # t          `w xY w)NdocutilsTrI   u   éxéxéztitle
==

textrJ   ztitle
=====

textrO   rV   rW   rX   u   Éricu   Something about esszet ßu   More things about esszet ß)rK   rL   rM   r/   rN   descriptionrO   )pytestimportorskiprT   ensure_finalizedstrictraisesr   rf   r   r   rd   re   )r   ro   rQ   rp   s       r   test_strictzTestRegister.test_strict   s    	J''' mmB
].// 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 & 3
 
 mmH%%
].// 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 (>#$mmH%%
Wc** &	&GGIII%%%%%%% mmooWc** &	&GGIII%%%%%%% !!: A
 
 mmH%%
Wc** &	&GGIII%%%%%%%%sH   A??BBC==DD E< <	FG/ /	G8I5 5	I>c                    t          j        d           d}ddddd|d}|                     |          }|                                 d|_        t          ddd          }|                    t          d	|d
           t          j        t                    5  |
                                 d d d            d S # 1 swxY w Y   d S )Nr   z:funkie:`str`rI   rJ   Tr}   rW   r~   re   F)raising)r   r   rT   r   r   r   r:   rd   r   r   rf   )r   r;   r   rQ   ro   rp   s         r   &test_register_invalid_long_descriptionz3TestRegister.test_register_invalid_long_description  s   J'''%! +
 
 mmH%%
W&788OWfeLLL].// 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   B::B>B>c                     |                                  }d|_        |                                 |j        ddgk    sJ d S )NTzrunning checkrI   )rT   list_classifiersrf   messages)r   caplogro   s      r   test_list_classifiersz"TestRegister.test_list_classifiers)  sB    mmoo#			?E":::::::r   c                     |                                  }t          ddd          }|j        t          _        d|_        	 |                                 t          `n# t          `w xY w|j        d         dk    sJ d S )NrV   rW   rX   T   z---------------------------------------------------------------------------
xxx
---------------------------------------------------------------------------)rT   r   r   rd   re   rk   rf   r   )r   r   ro   rp   s       r   test_show_responsezTestRegister.test_show_response/  s~    mmooWc** & 	&GGIII%%%%%%%q!%DDDDDDDs   A 	A$r   )r   r   r   rT   rs   r{   r   r   r   r   r   r   r   r   r   rG   rG   Y   s           00 00 00d	7 	7 	7$ $ $$$ $ $$K& K& K&Z  (; ; ;E E E E Er   rG   )r   r4   r`   rg   r@   distutils.commandr   rd   distutils.command.registerdistutils.errorsr   distutils.tests.test_configr   r   r   ImportErrorrv   rj   r   r   fixturer<   rE   rG   r   r   r   <module>r      s   + +  				   9 9 9 9 9 9 / / / / / / 0 0 0 0 0 0 A A A A A A OOOO   HHH        % % % % % % % %, G G G # # #aE aE aE aE aE, aE aE aE aE aEs   5 ??