
    pf"                     .   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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y# e$ r dZY _w xY w)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y)InputszFakes user inputs.c                      || _         d| _        y )Nr   answersindex)selfr
   s     a/home/Script/Script_env/lib/python3.12/site-packages/setuptools/_distutils/tests/test_register.py__init__zInputs.__init__+   s    
    c                     	 | 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__/   s2    	<<

+JJ!OJDJJ!OJs	   0 AN )__name__
__module____qualname____doc__r   r    r   r   r   r   (   s    r   r   c                   2    e Zd ZdZd Zd ZddZd Zd	dZy)

FakeOpenerzFakes a PyPI serverc                     g | _         y 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                   j                  |       | S r   )r   append)r   reqdatatimeouts       r   openzFakeOpener.open?   s    		r   c                      y)N   xxxr   r    s    r   readzFakeOpener.readC   s    r   c                 F    ddij                  |j                         |      S )Nzcontent-typeztext/plain; charset=utf-8)getlower)r   namedefaults      r   	getheaderzFakeOpener.getheaderF   s$    7

#djjlG
$	%r   )NNr   )	r   r   r   r   r   r   r(   r+   r1   r   r   r   r   r   6   s    %r   r   T)autousec                 4    | j                  t        dd        y )Ngetpassc                      yNpasswordr   r   s    r   <lambda>zautopass.<locals>.<lambda>N   s    r   )setattrr4   )monkeypatchs    r   autopassr<   L   s    ,EFr   c                     t               }| j                  t        j                  d|       | j                  t        j                  dd        ||j                  _        y )Nbuild_opener_opener)r   r:   urllibrequestinstanceconn)r;   rA   openers      r   fake_openerrE   Q   sC    \F?	48"Gr   c                   D    e Zd ZddZd Zd Zd Zd Zd Zd Z	d	 Z
d
 Zy)TestRegisterNc                 X    |	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   sF     % $)H *))5H5$~r   c                 ,   | j                         }t        j                  j                  | j                        rJ t        ddd      }|j                  t        _        	 |j                          t        `t        j                  | j                        j                  d      t        k(  sJ dd}|t        _        d|_        |j                          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 y # t        `w xY w)N1tarekyzutf-8)encodingc                     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   sP   
 mmo 77>>$''*** Wc* &	&GGI% ||DGG$...@MQQQ
	) !( 	 499>>"a'''DIINN1%--.DIINN1%--.$%///$%///*/////1  %s   F Fc                     | j                  | j                  t               | j                         }|j	                          |j                          |j                          |j                  j                  dk(  sJ y 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   s^    !23mmo ((J666r   c                    | j                         }t        ddd      }|j                  t        _        	 |j                          t        `t        | j                  j                        dk(  sJ | j                  j                  d   }t        |j                        }|d   dk(  sJ d|j                  v sJ y # t        `w xY w)	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    mmoW&78 &	&GGI% 499>>"a'''iinnQs{{#'(E111388###  %s   B7 7B?c                    | j                         }t        dd      }|j                  t        _        	 |j                          t        `t        | j                  j                        dk(  sJ | j                  j                  d   }t        |j                        }|d   dk(  sJ d|j                  v sJ y # t        `w xY w)N3r~   r   r   r^   290r   r   r   s        r   test_password_resetz TestRegister.test_password_reset   s    mmo./ &	&GGI% 499>>"a'''iinnQs{{#'(E111388###  %s   B6 6B>c                 r   t        j                  d       | j                  i       }|j                          d|_        t        j
                  t              5  |j                          d d d        ddddddd}| j                  |      }|j                          d|_        t        j
                  t              5  |j                          d d d        d|d<   | j                  |      }|j                          d|_        t        d	d
d      }|j                  t        _        	 |j                          t        `| j                         }|j                          t        d	d
d      }|j                  t        _        	 |j                          t        `dddddddd}| j                  |      }|j                          d|_        t        d	d
d      }|j                  t        _        	 |j                          t        `y # 1 sw Y   xY w# 1 sw Y   BxY w# t        `w xY w# t        `w xY w# 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
]]./ 	GGI	
 & 3
 mmH%
]]./ 	GGI	 (>#$mmH%
Wc* &	&GGI% mmoWc* &	&GGI% !!: A
 mmH%
Wc* &	&GGI%	 	 	 	  %  %,  %s<   G>:H#H <H# 'H. >HHH #H+.H6c                 \   t        j                  d       d}ddddd|d}| j                  |      }|j                          d|_        t        ddd      }|j                  t        d	|d
       t        j                  t              5  |j                          d d d        y # 1 sw Y   y xY w)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OWfeL]]./ 	GGI	 	 	s   B""B+c                 x    | j                         }d|_        |j                          |j                  ddgk(  sJ y )NTzrunning checkrI   )rT   list_classifiersrf   messages)r   caplogro   s      r   test_list_classifiersz"TestRegister.test_list_classifiers)  s5    mmo#	?E"::::r   c                     | j                         }t        ddd      }|j                  t        _        d|_        	 |j                          t        `|j                  d   dk(  sJ y # t        `w xY w)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/  se    mmoWc* & 	&GGI%q!%DDDD  %s   A& &A.r   )r   r   r   rT   rs   r{   r   r   r   r   r   r   r   r   r   rG   rG   Y   s3    00d	7$$$$K&Z(;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 / 0 A   % %, G G # #aE, aES  Hs   B
 
BB