a  ze%&@sddlZddlZddlZddlZddlZddlmZmZddlm Z ddl m Z ddl m Z ddlmZddlmZz ddlZWneydZYn0dZdZGd d d eZGd d d eZGd ddeZddZedkreedS)N)check_warnings run_unittest)register)DistutilsSetupError)INFO)BasePyPIRCCommandTestCasez@[distutils] index-servers = server1 [server1] username:me zN[distutils] index-servers = pypi [pypi] username:tarek password:password c@seZdZddZdddZdS)InputscGs||_d|_dS)Nranswersindex)selfr r Q/opt/bitninja-python-dojo/embedded/lib/python3.9/distutils/tests/test_register.py__init__,szInputs.__init__c Cs2z|j|jW|jd7_S|jd7_0dS)Nr )r promptr r r__call__0s  zInputs.__call__N)r)__name__ __module__ __qualname__rrr r r rr*src@s8eZdZddZddZd ddZdd Zd d d ZdS) FakeOpenercCs g|_dSN)reqsr r r rr8szFakeOpener.__init__cGs|Srr )r argsr r rr;szFakeOpener.__call__NcCs|j||Sr)rappend)r reqdatatimeoutr r ropen>s zFakeOpener.opencCsdS)Nxxxr rr r rreadBszFakeOpener.readcCsddi||S)Nz content-typeztext/plain; charset=utf-8)getlower)r namedefaultr r r getheaderEszFakeOpener.getheader)NN)N)rrrrrr r"r'r r r rr6s  rcseZdZfddZfddZdddZdd Zd d Zd d ZddZ e e dudddZ e e dudddZddZddZddZZS)RegisterTestCasecsJtt|tj|_dd}|t_dtj_tjj|_ t |_ tj_dS)NcSsdSNpasswordr rr r r_getpassQsz(RegisterTestCase.setUp.._getpass) superr(setUpgetpass _old_getpassurllibrequest_opener build_opener old_openerrconn)r r, __class__r rr.Ms zRegisterTestCase.setUpcs,|jt_dtj_|jtj_tt| dSr) r0r/r1r2r3r5r4r-r(tearDownrr7r rr9Xs zRegisterTestCase.tearDownNcCs4|durdddddd}|jfi|\}}t|S)Nxxx)urlauthor author_emailr%version)Z create_distr)r metadataZpkg_infodistr r r_get_cmd^szRegisterTestCase._get_cmdcCs"|}|tj|jtddd}|jt_ z| Wt` nt` 0| tj|jt |j}z | }||tW|n |0d dd}|t_ d|_| |t|jjdt|jjd j}t|jjdj}||d d ||d d |d |jjdjdS)N1tarekyrcSs t|dSr)AssertionErrorr+r r r_no_waysz4RegisterTestCase.test_create_pypirc.._no_wayrrContent-lengthZ1374r!)r)rAZ assertFalseospathexistsrcrrregister_moduleinputrunZ assertTruer r" assertEqual WANTED_PYPIRCclose show_responselenr6rdictheadersassertInr)r cmdinputsfZcontentrFZreq1Zreq2r r rtest_create_pypircfs.     z#RegisterTestCase.test_create_pypirccCsB||jt|}|||||jj ddSr)) Z write_filerLPYPIRC_NOPASSWORDrAZ _set_configZfinalize_optionsZ send_metadatarPZ distributionr*)r rXr r rtest_password_not_in_files z*RegisterTestCase.test_password_not_in_filecCs|}tddd}|jt_z|Wt`nt`0|t|jj d|jj d}t |j }||dd| d|j dS) N2rCtarek@ziade.orgrrrHZ608tarekrArrrMrNrOrPrTr6rrUrVrWrr rXrYrrVr r rtest_registerings     z!RegisterTestCase.test_registeringcCs~|}tdd}|jt_z|Wt`nt`0|t|jj d|jj d}t |j }||dd| d|j dS)N3r_rrrHZ290r`rarbr r rtest_password_resets     z$RegisterTestCase.test_password_resetzneeds docutilscCsB|i}|d|_|t|jddddddd}||}|d|_|t|jd|d<||}|d|_tdd d }|jt_ z|Wt` nt` 0|}|tdd d }|jt_ z|Wt` nt` 0dd dddd d d}||}|d|_tdd d }|jt_ z|Wt` nt` 0dS)Nrr:uéxéxéztitle == textr;r<r=r%r>long_descriptionztitle ===== textrgrBrCrDuÉricuSomething about esszet ßuMore things about esszet ß)r;r<r=r%r> descriptionrg) rAensure_finalizedstrict assertRaisesrrOrrrMrN)r rXr?rYr r r test_strictsV            zRegisterTestCase.test_strictcCs`d}ddddd|d}||}|d|_tddd}|t_|ttd|t |j dS) Nz :funkie:`str`r:rfTr^rCr_rN) rArirjrrMrNZ addCleanupdelattrrkrrO)r rhr?rXrYr r r&test_register_invalid_long_descriptions  z7RegisterTestCase.test_register_invalid_long_descriptioncCsV|}t4}td||t|jdWdn1sH0YdS)Nalwaysr)rArwarnings simplefilterZcheck_metadatarPrT)r rXwr r rtest_check_metadata_deprecated!s  z/RegisterTestCase.test_check_metadata_deprecatedcCs4|}d|_||t}||ddgdS)Nrz running checkr:)rAZlist_classifiersrOget_logsrrP)r rXresultsr r rtest_list_classifiers)s  z&RegisterTestCase.test_list_classifierscCsX|}tddd}|jt_d|_z|Wt`nt`0|t}| |dddS)NrBrCrDrz--------------------------------------------------------------------------- xxx ---------------------------------------------------------------------------) rArrrMrNrSrOrtrrP)r rXrYrur r rtest_show_response0s    z#RegisterTestCase.test_show_response)N)rrrr.r9rAr[r]rcreunittestZ skipUnlessdocutilsrlrnrsrvrx __classcell__r r r7rr(Ks  9  A r(cCs ttSr)ryZ makeSuiter(r r r r test_suite?sr|__main__)rIryr/r1rpZ test.supportrrZdistutils.commandrrMZdistutils.command.registerZdistutils.errorsrZ distutils.logrZdistutils.tests.test_configrrz ImportErrorr\rQobjectrrr(r|rr r r rs.           u