a :êdg%&ã@sîddlZddlZddlZddlZddlZddlmZmZddlm Z ddl m Z ddl m Z ddlmZddlmZz ddlZWney–dZYn0dZdZGd d „d eƒZGd d „d eƒZGd d„deƒZdd„ZedkrêeeƒƒdS)é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@seZdZdd„Zddd„ZdS)ÚInputscGs||_d|_dS)Nr©ÚanswersÚindex)Úselfr ©r ú9/usr/local/lib/python3.9/distutils/tests/test_register.pyÚ__init__,szInputs.__init__Úc Cs2z|j|jW|jd7_S|jd7_0dS)Nér )r Úpromptr r rÚ__call__0s  þzInputs.__call__N)r)Ú__name__Ú __module__Ú __qualname__rrr r r rr*src@s8eZdZdd„Zdd„Zd dd„Zdd „Zd d d „ZdS)Ú FakeOpenercCs g|_dS©N)Úreqs©r r r rr8szFakeOpener.__init__cGs|Srr )r Úargsr r rr;szFakeOpener.__call__NcCs|j |¡|Sr)rÚappend)r ÚreqÚdataÚtimeoutr r rÚopen>s zFakeOpener.opencCsdS)Nóxxxr rr r rÚreadBszFakeOpener.readcCsddi | ¡|¡S)Nz content-typeztext/plain; charset=utf-8)ÚgetÚlower)r ÚnameÚdefaultr r rÚ getheaderEsÿþzFakeOpener.getheader)NN)N)rrrrrr r"r'r r r rr6s  rcsšeZdZ‡fdd„Z‡fdd„Zddd„Zdd „Zd d „Zd d „Zdd„Z e   e dud¡dd„ƒZ e   e dud¡dd„ƒZdd„Zdd„Zdd„Z‡ZS)ÚRegisterTestCasecsJtt|ƒ ¡tj|_dd„}|t_dtj_tjj|_ t ƒ|_ tj_dS)NcSsdS©NÚpasswordr ©rr r rÚ_getpassQsz(RegisterTestCase.setUp.._getpass) Úsuperr(ÚsetUpÚgetpassÚ _old_getpassÚurllibÚrequestÚ_openerÚ build_openerÚ old_openerrÚconn)r r,©Ú __class__r rr.Ms zRegisterTestCase.setUpcs,|jt_dtj_|jtj_tt|ƒ  ¡dSr) r0r/r1r2r3r5r4r-r(ÚtearDownrr7r rr9Xs zRegisterTestCase.tearDownNcCs4|durddddddœ}|jfi|¤Ž\}}t|ƒS)NÚxxx)ÚurlÚauthorÚ author_emailr%Úversion)Z create_distr)r ÚmetadataZpkg_infoÚdistr r rÚ_get_cmd^sþzRegisterTestCase._get_cmdcCs"| ¡}| tj |j¡¡tdddƒ}|jt_ z|  ¡Wt` nt` 0|  tj |j¡¡t |jƒ}z |  ¡}| |t¡W| ¡n | ¡0d dd„}|t_ d|_|  ¡| t|jjƒd¡t|jjd jƒ}t|jjdjƒ}| |d d ¡| |d d ¡| d |jjdj¡dS)NÚ1ÚtarekÚyrcSs t|ƒ‚dSr)ÚAssertionErrorr+r r rÚ_no_wayŽsz4RegisterTestCase.test_create_pypirc.._no_wayrérúContent-lengthZ1374r!)r)rAZ assertFalseÚosÚpathÚexistsÚrcrrÚregister_moduleÚinputÚrunZ assertTruer r"Ú assertEqualÚ WANTED_PYPIRCÚcloseÚ show_responseÚlenr6rÚdictÚheadersÚassertInr)r ÚcmdÚinputsÚfZcontentrFZreq1Zreq2r r rÚtest_create_pypircfs.     z#RegisterTestCase.test_create_pypirccCsB| |jt¡| ¡}| ¡| ¡| ¡| |jj d¡dSr)) Z write_filerLÚPYPIRC_NOPASSWORDrAZ _set_configZfinalize_optionsZ send_metadatarPZ distributionr*)r rXr r rÚtest_password_not_in_fileŸs z*RegisterTestCase.test_password_not_in_filecCs€| ¡}tdddƒ}|jt_z| ¡Wt`nt`0| t|jj ƒd¡|jj d}t |j ƒ}| |dd¡|  d|j ¡dS) NÚ2rCútarek@ziade.orgrrrHZ608ótarek©rArrrMrNrOrPrTr6rrUrVrWr©r rXrYrrVr r rÚtest_registering«s     z!RegisterTestCase.test_registeringcCs~| ¡}tddƒ}|jt_z| ¡Wt`nt`0| t|jj ƒd¡|jj d}t |j ƒ}| |dd¡|  d|j ¡dS)NÚ3r_rrrHZ290r`rarbr r rÚtest_password_reset½s     z$RegisterTestCase.test_password_resetzneeds docutilscCsB| i¡}| ¡d|_| t|j¡dddddddœ}| |¡}| ¡d|_| t|j¡d|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 == text©r;r<r=r%r>Úlong_descriptionztitle ===== textrgrBrCrDuÉricuSomething about esszet ßuMore things about esszet ß)r;r<r=r%r>Ú descriptionrg) rAÚensure_finalizedÚstrictÚ assertRaisesrrOrrrMrN)r rXr?rYr r rÚ test_strictÏsV ý        ü   zRegisterTestCase.test_strictcCs`d}ddddd|dœ}| |¡}| ¡d|_tdddƒ}|t_| ttd¡| t |j ¡dS) Nz :funkie:`str`r:rfTr^rCr_rN) rArirjrrMrNZ addCleanupÚdelattrrkrrO)r rhr?rXrYr r rÚ&test_register_invalid_long_descriptionsý  z7RegisterTestCase.test_register_invalid_long_descriptioncCsV| ¡}tƒ4}t d¡| ¡| t|jƒd¡Wdƒn1sH0YdS)NÚalwaysr)rArÚwarningsÚ simplefilterZcheck_metadatarPrT)r rXÚwr r rÚtest_check_metadata_deprecated!s  z/RegisterTestCase.test_check_metadata_deprecatedcCs4| ¡}d|_| ¡| t¡}| |ddg¡dS)Nrz running checkr:)rAZlist_classifiersrOÚget_logsrrP)r rXÚresultsr r rÚtest_list_classifiers)s  z&RegisterTestCase.test_list_classifierscCsX| ¡}tdddƒ}|jt_d|_z| ¡Wt`nt`0| t¡}|  |dd¡dS)NrBrCrDréz›--------------------------------------------------------------------------- xxx ---------------------------------------------------------------------------) rArrrMrNrSrOrtrrP)r rXrYrur r rÚtest_show_response0s    z#RegisterTestCase.test_show_response)N)rrrr.r9rAr[r]rcreÚunittestZ skipUnlessÚdocutilsrlrnrsrvrxÚ __classcell__r r r7rr(Ks  9  A r(cCs t t¡Sr)ryZ makeSuiter(r r r rÚ test_suite?sr|Ú__main__)rIryr/r1rpZ test.supportrrZdistutils.commandrrMZdistutils.command.registerZdistutils.errorsrZ distutils.logrZdistutils.tests.test_configrrzÚ ImportErrorr\rQÚobjectrrr(r|rr r r rÚs.           u