a „oe/ ã@s„ddlZddlZddlmZddlmZmZddlTddlTGdd„dejƒZ Gdd„dejƒZ Gd d „d ejƒZ e d kr€eƒdS) éN)Ú str2bytes)Ú TestSkippedÚtestmain)Ú*c@seZdZdd„Zdd„ZdS)Ú CookieTestscCs@d}tdd|ƒtddƒ}tdd„| d¡ƒ}| ||v¡dS)Nz TestData=Testúhttp://www.python.orgcSs| ¡S©N)Ústrip)Úx©r ú:C:\Program Files\Certbot\pkgs\win32\test\test_win32inet.pyÚóz)CookieTests.testCookies..ú;)ZInternetSetCookieÚInternetGetCookieÚmapÚsplitZ assertTrue)ÚselfÚdataÚgotÚbitsr r r Ú testCookies s   zCookieTests.testCookiesc CsRztddƒ| d¡Wn4tyL}z| |jtj¡WYd}~n d}~00dS)Nz%http://site-with-no-cookie.python.orgzexpected win32 exception)rZfailÚerrorÚ assertEqualÚwinerrorZERROR_NO_MORE_ITEMS)rÚexcr r r ÚtestCookiesEmptys  zCookieTests.testCookiesEmptyN)Ú__name__Ú __module__Ú __qualname__rrr r r r r src@seZdZdd„Zdd„ZdS)ÚUrlTestscCstdƒ}| |d¡dS)Nzfoo barz foo%20bar©ZInternetCanonicalizeUrlr)rÚretr r r ÚtestSimpleCanonicalizeszUrlTests.testSimpleCanonicalizecCs,d}t|d|ƒ}| ||d|¡dS)NAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxú z%20r!)rZbigr"r r r ÚtestLongCanonicalize szUrlTests.testLongCanonicalizeN)rrrr#r%r r r r r sr c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú TestNetworkcCstdtdddƒ|_dS)NÚtestr)Z InternetOpenZINTERNET_OPEN_TYPE_DIRECTÚhi©rr r r ÚsetUp(szTestNetwork.setUpcCs|j ¡dSr)r(ÚCloser)r r r ÚtearDown+szTestNetwork.tearDowncCs`t|jddtƒ}g}t|dƒ}|s$q0| |¡qtdƒ |¡}| tdƒ¡dks\Jt|ƒƒ‚dS)NriÚÚPythonr) ZInternetOpenUrlr(ZINTERNET_FLAG_EXISTING_CONNECTÚInternetReadFileÚappendrÚjoinÚfindÚrepr)rÚhdlÚchunksÚchunkrr r r ÚtestPythonDotOrg.s ÿ  ÿzTestNetwork.testPythonDotOrgc Cs´z‚t|jdtddtddƒ}zZt|dtddƒ}z2tdtƒƒt|dƒ}tdt |ƒdƒW|  ¡n |  ¡0W|  ¡n |  ¡0Wn,t y®}zt |ƒ‚WYd}~n d}~00dS) Nz ftp.gnu.orgrTZNLSTzConnected - response info isiZReadÚbytes) ZInternetConnectr(ZINTERNET_INVALID_PORT_NUMBERZINTERNET_SERVICE_FTPZ FtpCommandZFTP_TRANSFER_TYPE_ASCIIÚprintZInternetGetLastResponseInfor/Úlenr+rr)rZhconZhftprÚer r r ÚtestFtpCommand=s*ø   zTestNetwork.testFtpCommandN)rrrr*r,r7r<r r r r r&'sr&Ú__main__) ZunittestrZpywin32_testutilrrrZ win32inetZ win32inetconZTestCaserr r&rr r r r Ús  5