def test_RedirectAwareProber_follows_http_redirect(self): url = 'http://localhost:%s/redirect-to-valid-mirror/file' % self.port prober = RedirectAwareProberFactory(url) self.failUnless(prober.redirection_count == 0) self.failUnless(prober.url == url) deferred = prober.probe() def got_result(result): self.failUnless(prober.redirection_count == 1) new_url = 'http://localhost:%s/valid-mirror/file' % self.port self.failUnless(prober.url == new_url) self.failUnless(result == str(httplib.OK)) return deferred.addCallback(got_result)
def test_redirectawareprober_fail_on_unknown_scheme(self): prober = RedirectAwareProberFactory( 'http://localhost:%s/redirect-unknown-url-scheme' % self.port) deferred = prober.probe() return self.assertFailure(deferred, UnknownURLSchemeAfterRedirect)
def test_redirectawareprober_detects_infinite_loop(self): prober = RedirectAwareProberFactory( 'http://localhost:%s/redirect-infinite-loop' % self.port) deferred = prober.probe() return self.assertFailure(deferred, InfiniteLoopDetected)