Exemplo n.º 1
0
    def test_main(self, req_mock):
        main_page = self._build_main_page([("http://something.com/fruits/A/", "Fruit A", "£1.8/unit")])
        product_page, product_page_size = self._build_product_page("Tasty")
        req_mock.get("http://something.com/fruits/", text=main_page)
        req_mock.get("http://something.com/fruits/A/", text=product_page)

        product_data = main("http://something.com/fruits/")

        self.assertEqual(
            product_data,
            {
                "results": [{"title": "Fruit A", "description": "Tasty", "unit_price": 1.8, "size": product_page_size}],
                "total": 1.8,
            },
        )
Exemplo n.º 2
0
    def test_problems_with_main_page(self, req_mock):
        req_mock.get("http://something.com/500/", status_code=500)

        scraped = main("http://something.com/500/")

        self.assertEqual(scraped, "Could not fetch body of main page")
Exemplo n.º 3
0
 def test_invalid_base_url(self):
     scraped = main("invalid.com")
     self.assertEqual(
         scraped, "Invalid URL 'invalid.com': No schema supplied. Perhaps you meant http://invalid.com?"
     )