コード例 #1
0
ファイル: web_test.py プロジェクト: flatron18116/wpull
    def test_basic(self):
        client = WebClient()
        session = client.session(Request(self.get_url('/')))

        self.assertFalse(session.done())
        response = yield From(session.fetch())

        self.assertEqual(200, response.status_code)
        self.assertTrue(session.done())
コード例 #2
0
ファイル: web_test.py プロジェクト: Willianvdv/wpull
    def test_basic(self):
        client = WebClient()
        session = client.session(Request(self.get_url('/')))

        self.assertFalse(session.done())
        response = yield From(session.fetch())

        self.assertEqual(200, response.status_code)
        self.assertTrue(session.done())
コード例 #3
0
ファイル: web_test.py プロジェクト: flatron18116/wpull
    def test_bad_redirect_ipv6(self):
        client = WebClient()
        session = client.session(Request(self.get_url('/bad_redirect_ipv6')))

        while not session.done():
            try:
                yield From(session.fetch())
            except ProtocolError:
                return
            else:
                self.fail()  # pragma: no cover
コード例 #4
0
ファイル: web_test.py プロジェクト: Willianvdv/wpull
    def test_bad_redirect_ipv6(self):
        client = WebClient()
        session = client.session(Request(self.get_url('/bad_redirect_ipv6')))

        while not session.done():
            try:
                yield From(session.fetch())
            except ProtocolError:
                return
            else:
                self.fail()  # pragma: no cover
コード例 #5
0
ファイル: web_test.py プロジェクト: flatron18116/wpull
    def test_redirect_repeat(self):
        client = WebClient()
        session = client.session(Request(self.get_url('/redirect?code=307')))

        status_codes = []

        while not session.done():
            response = yield From(session.fetch())
            if not status_codes:
                self.assertEqual(LoopType.redirect, session.loop_type())
            status_codes.append(response.status_code)

        self.assertEqual([307, 200], status_codes)
        self.assertTrue(session.done())
        self.assertEqual(LoopType.normal, session.loop_type())
コード例 #6
0
ファイル: web_test.py プロジェクト: Willianvdv/wpull
    def test_redirect_repeat(self):
        client = WebClient()
        session = client.session(Request(self.get_url('/redirect?code=307')))

        status_codes = []

        while not session.done():
            response = yield From(session.fetch())
            if not status_codes:
                self.assertEqual(LoopType.redirect, session.loop_type())
            status_codes.append(response.status_code)

        self.assertEqual([307, 200], status_codes)
        self.assertTrue(session.done())
        self.assertEqual(LoopType.normal, session.loop_type())
コード例 #7
0
ファイル: web_test.py プロジェクト: flatron18116/wpull
    def test_duration_timeout(self):
        client = WebClient()
        session = client.session(Request(self.get_url('/sleep_long')))

        with self.assertRaises(DurationTimeout):
            yield From(session.fetch(duration_timeout=0.1))
コード例 #8
0
ファイル: web_test.py プロジェクト: Willianvdv/wpull
    def test_duration_timeout(self):
        client = WebClient()
        session = client.session(Request(self.get_url('/sleep_long')))

        with self.assertRaises(DurationTimeout):
            yield From(session.fetch(duration_timeout=0.1))
コード例 #9
0
ファイル: robots.py プロジェクト: d235j/wpull
 def __init__(self, web_client=None, robots_txt_pool=None):
     self._web_client = web_client or WebClient()
     self._robots_txt_pool = robots_txt_pool or RobotsTxtPool()