def test_many_pages(self, mock_get):
        mock_get.return_value = Mock()
        mock_get.return_value.raise_for_status = Mock()
        mock_get.return_value.json.side_effect = self.api_menu_data
        menus_info = menus.fetch_menus_data(problem_id=1)

        self.assertEqual(menus_info, self.api_expected_menu_data)
    def test_empty_page(self, mock_get):
        mock_get.return_value = Mock()
        mock_get.return_value.raise_for_status = Mock()
        file = open('menus/tests/test_data/empty_page.json')
        mock_get.return_value.json.return_value = json.load(file)
        file.close()
        file = open('menus/tests/test_data/expected_empty_page.json')
        expected_empty_page = json.load(file)
        file.close()
        menus_info = menus.fetch_menus_data(problem_id=1)

        self.assertEqual(menus_info, expected_empty_page)
Ejemplo n.º 3
0
import menus

if __name__ == '__main__':
    problem_id = input("Please enter a problem set id: ")
    menus_info = menus.fetch_menus_data(problem_id)
    products, root_ids = menus.parse_menus_data(menus_info)
    valid_menus, invalid_menus = menus.validate_menus(root_ids, products)
    print(menus.render_aggregate_menus_json(valid_menus, invalid_menus))
    def test_http_error(self, mock_get):
        mock_get.return_value.raise_for_status.side_effect = \
            requests.exceptions.HTTPError("Not found.")

        with self.assertRaises(requests.exceptions.HTTPError):
            menus.fetch_menus_data()