diff --git a/frappe/tests/test_utils.py b/frappe/tests/test_utils.py index 142fbe7fa1..9997522692 100644 --- a/frappe/tests/test_utils.py +++ b/frappe/tests/test_utils.py @@ -20,7 +20,7 @@ from PIL import Image import frappe from frappe.installer import parse_app_name from frappe.model.document import Document -from frappe.tests.utils import FrappeTestCase, change_settings +from frappe.tests.utils import FrappeTestCase, MockedRequestTestCase, change_settings from frappe.utils import ( ceil, dict_to_str, @@ -815,8 +815,14 @@ class TestLinkTitle(FrappeTestCase): prop_setter.delete() -class TestAppParser(FrappeTestCase): +class TestAppParser(MockedRequestTestCase): def test_app_name_parser(self): + self.responses.add( + "HEAD", + "https://api.github.com/repos/frappe/healthcare", + status=200, + json={}, + ) bench_path = get_bench_path() frappe_app = os.path.join(bench_path, "apps", "frappe") self.assertEqual("frappe", parse_app_name(frappe_app)) diff --git a/frappe/tests/utils.py b/frappe/tests/utils.py index 07003d3b8c..6e6c72052a 100644 --- a/frappe/tests/utils.py +++ b/frappe/tests/utils.py @@ -93,6 +93,19 @@ class FrappeTestCase(unittest.TestCase): frappe.db.sql = orig_sql +class MockedRequestTestCase(FrappeTestCase): + def setUp(self): + import responses + + self.responses = responses.RequestsMock() + self.responses.start() + + self.addCleanup(self.responses.stop) + self.addCleanup(self.responses.reset) + + return super().setUp() + + def _commit_watcher(): import traceback