;ò 6oæDc@sÕdkZdkZdkZdkZdklZd„Zd„Zd„Zdk l Z l Z de fd„ƒYZ d„Z d efd „ƒYZd eifd „ƒYZd „ZedjoeiƒndS(N(sfetcherscCs†|i|ijpt‚|i|ijpt‚|i|ijpt‚t|iƒ}|d=|d=|i|jpt‚dS(Nsdatesserver( sexpecteds final_urlsactualsAssertionErrorsstatussbodysdictsheaderss got_headers(sexpectedsactuals got_headers((s@/home/kevint/tmp/python-urljr.B15228/urljr/test/test_fetchers.pysfailUnlessResponseExpected scs ‡d†‰hdd<‰‡‡d†}tiˆdƒdˆdƒ} d| fd| fd| fd | fd | f|d d ƒ|d dƒ|ddƒ|ddƒ|ddƒg } xn| D]f\} } ˆ| ƒ}y|i |ƒ}Wn+t tfj oq¾|G|GH‚q¾Xt| |ƒq¾WxÚˆdƒdddgD]À} y|i | ƒ}Wn‡tt fj o ‚qAtij o}|pt‚qAtij o$}| pt||ˆf‚qA|pt‚qAX|tjpt||f‚qAWdS(Ncs%dˆiˆiiƒd|fSdS(Nshttp://%s:%s%si(sservers server_namessockets getsocknamespath(spath(sserver(s@/home/kevint/tmp/python-urljr.B15228/urljr/test/test_fetchers.pysgeturlss content-types text/plaincs6d|}tiˆ|ƒ|ˆ|ƒ}||fSdS(Ns/(spathsfetcherss HTTPResponsesgeturlscodesexpected_headerssexpected(spathscodesexpected(sgeturlsexpected_headers(s@/home/kevint/tmp/python-urljr.B15228/urljr/test/test_fetchers.pysplains s/successiÈs /301redirects /302redirects /303redirects /307redirectsnotfoundi”sbadreqis forbiddeni“serroriôs server_errori÷s/closedshttp://invalid.janrain.com/s not:a/urlsftp://janrain.com/pub/(sgeturlsexpected_headerssplainsfetcherss HTTPResponsesexpect_successscasesspathsexpecteds fetch_urlsfetchersfetchsactuals SystemExitsKeyboardInterruptsfailUnlessResponseExpectedserr_urlsresults HTTPErrorswhysexcsAssertionErrorsHTTPFetchingErrorsserversNone(sfetchersexcsserversgeturls fetch_urlsplainswhysexpected_headerssactualsexpect_successsexpectedspathscasesserr_urlsresult((sserversgeturlsexpected_headerss@/home/kevint/tmp/python-urljr.B15228/urljr/test/test_fetchers.pys test_fetchers: o    cCsýtiƒg}y|itiƒƒWnatj oU}|ddjo8y dk}Wntj oq…Xt p t d‚qŠ‚nXg}x$|D]}|iti |ƒƒq—Wx|D]}t|t|ƒq¾Wx|D]}t|t |ƒqßWdS(NisCannot find pycurl libraryscurl present but not detected(sfetcherssUrllib2Fetchers exc_fetcherssappendsCurlHTTPFetchers RuntimeErrorswhyspycurls ImportErrorsFalsesAssertionErrorsnon_exc_fetcherssfsExceptionWrappingFetchers test_fetchersTruesserver(sserverspycurlsfs exc_fetchersswhysnon_exc_fetchers((s@/home/kevint/tmp/python-urljr.B15228/urljr/test/test_fetchers.pysrun_fetcher_testsPs* (sBaseHTTPRequestHandlers HTTPServersFetcherTestHandlercBsÝtZhddef<dddf<dddf<dddf<d d df<d d ef<d def<ddef<ddef<ddeftitƒ}tii}|tƒ}ti ||gƒSdS(N( sunittestsFunctionTestCasestestscase1sdefaultTestLoadersloadTestsFromTestCases loadTestssDefaultFetcherTestscase2s TestSuite(s loadTestsscase1scase2((s@/home/kevint/tmp/python-urljr.B15228/urljr/test/test_fetchers.pys getTestSuite s  s__main__(sunittestssyssurllib2shelpersurljrsfetcherssfailUnlessResponseExpecteds test_fetchersrun_fetcher_testssBaseHTTPServersBaseHTTPRequestHandlers HTTPServersFetcherTestHandlerstestsobjects FakeFetchersTestCasesDefaultFetcherTests getTestSuites__name__s runAsMain(s test_fetchersfailUnlessResponseExpecteds HTTPServersfetchersshelpers getTestSuitesunittestsurllib2sFetcherTestHandlerssysstestsDefaultFetcherTestsBaseHTTPRequestHandlersrun_fetcher_testss FakeFetcher((s@/home/kevint/tmp/python-urljr.B15228/urljr/test/test_fetchers.pys?s      = L >