Beispiel #1
0
    def test_add_page_info_to_page(self, requests_get, requests_head):
        url = "http://www.example.com/foo"
        text = '<div>hi world</div>'
        content_type = 'text/html'
        headers = {
            'content-type': '{}; charset=utf-8'.format(content_type),
        }
        requests_head.return_value = MagicMock(status_code=200, headers=headers)
        requests_get.return_value = MagicMock(status_code=200, text=text)

        page = Page.create(url=url, content='', status_code=0)
        add_page_info_to_page(page)

        self.assertEqual(page.content, text)
        self.assertEqual(page.content_type, content_type)

        self.assertEqual(requests_head.call_count, 1)
        self.assertEqual(requests_get.call_count, 1)
Beispiel #2
0
    def test_add_page_info_to_page(self, requests_get, requests_head):
        url = "http://www.example.com/foo"
        text = '<div>hi world</div>'
        content_type = 'text/html'
        headers = {
            'content-type': '{}; charset=utf-8'.format(content_type),
        }
        requests_head.return_value = MagicMock(status_code=200,
                                               headers=headers)
        requests_get.return_value = MagicMock(status_code=200, text=text)

        page = Page.create(url=url, content='', status_code=0)
        add_page_info_to_page(page)

        self.assertEqual(page.content, text)
        self.assertEqual(page.content_type, content_type)

        self.assertEqual(requests_head.call_count, 1)
        self.assertEqual(requests_get.call_count, 1)
Beispiel #3
0
    def test_permanent_redirect(self, requests_get, requests_head):
        url = "http://www.example.com/foo"
        redirect_url = "http://www.example.com/bar"
        headers = {'location': redirect_url}
        requests_head.return_value = MagicMock(status_code=301,
                                               headers=headers)

        page = Page.create(url=url, content='', status_code=0)
        add_page_info_to_page(page)

        to_page = Page.select().where(Page.url == redirect_url).first()
        self.assertTrue(to_page)

        url_redirect_link = Link.select().where(Link.from_page == page,
                                                Link.to_page == to_page)
        self.assertTrue(url_redirect_link.exists())

        self.assertEqual(requests_head.call_count, 1)
        self.assertFalse(requests_get.called)

        self.assertEqual(page.content, redirect_url)
Beispiel #4
0
    def test_permanent_redirect(self, requests_get, requests_head):
        url = "http://www.example.com/foo"
        redirect_url = "http://www.example.com/bar"
        headers = { 'location': redirect_url }
        requests_head.return_value = MagicMock(status_code=301, headers=headers)

        page = Page.create(url=url, content='', status_code=0)
        add_page_info_to_page(page)

        to_page = Page.select().where(Page.url == redirect_url).first()
        self.assertTrue(to_page)

        url_redirect_link = Link.select().where(
            Link.from_page == page,
            Link.to_page == to_page)
        self.assertTrue(url_redirect_link.exists())

        self.assertEqual(requests_head.call_count, 1)
        self.assertFalse(requests_get.called)

        self.assertEqual(page.content, redirect_url)