From 4ce6d1b94306d0ae94a74748726468a5132b7969 Mon Sep 17 00:00:00 2001 From: "codebeaver-ai[bot]" <192081515+codebeaver-ai[bot]@users.noreply.github.com> Date: Thu, 6 Feb 2025 11:05:23 +0000 Subject: [PATCH] test: Add coverage improvement test for tests/test_scrape_do.py --- tests/test_scrape_do.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/test_scrape_do.py diff --git a/tests/test_scrape_do.py b/tests/test_scrape_do.py new file mode 100644 index 00000000..75d1cdcd --- /dev/null +++ b/tests/test_scrape_do.py @@ -0,0 +1,31 @@ +import urllib.parse +import pytest +from unittest.mock import patch, Mock +from scrapegraphai.docloaders.scrape_do import scrape_do_fetch + + +def test_scrape_do_fetch_without_proxy(): + """ + Test scrape_do_fetch function using API mode (without proxy). + + This test verifies that: + 1. The function correctly uses the API mode when use_proxy is False. + 2. The correct URL is constructed with the token and encoded target URL. + 3. The function returns the expected response text. + """ + token = "test_token" + target_url = "https://example.com" + encoded_url = urllib.parse.quote(target_url) + expected_response = "Mocked API response" + + with patch("requests.get") as mock_get: + mock_response = Mock() + mock_response.text = expected_response + mock_get.return_value = mock_response + + result = scrape_do_fetch(token, target_url, use_proxy=False) + + expected_url = f"http://api.scrape.do?token={token}&url={encoded_url}" + mock_get.assert_called_once_with(expected_url) + + assert result == expected_response