From 35bb78ce39b8978f58fda76d43d8cd19d104ba1d Mon Sep 17 00:00:00 2001 From: Reginald Alfret Date: Fri, 25 Sep 2026 00:51:55 +0530 Subject: [PATCH 1/2] test(discovery): unshadow Discovery class and restore test_discovery_http_is_closed Fixes #2757 --- tests/test_discovery.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/tests/test_discovery.py b/tests/test_discovery.py index 6912783451..64961cd1cc 100644 --- a/tests/test_discovery.py +++ b/tests/test_discovery.py @@ -495,13 +495,6 @@ def test_ResourceMethodParameters_zoo_animals_patch(self): self.assertEqual(parameters.enum_params, {}) -class Discovery(unittest.TestCase): - def test_discovery_http_is_closed(self): - http = HttpMock(datafile("malformed.json"), {"status": "200"}) - service = build("plus", "v1", credentials=mock.sentinel.credentials) - http.close.assert_called_once() - - class DiscoveryErrors(unittest.TestCase): def test_tests_should_be_run_with_strict_positional_enforcement(self): try: @@ -1549,6 +1542,22 @@ def test_file_based_cache(self): class Discovery(unittest.TestCase): + @mock.patch("googleapiclient.discovery.build_http") + def test_discovery_http_is_closed(self, mock_build_http): + mock_http = mock.Mock() + mock_http.request.return_value = ( + httplib2.Response({"status": "200"}), + read_datafile("plus.json", "rb"), + ) + mock_build_http.return_value = mock_http + build( + "plus", + "v1", + developerKey="test_key", + static_discovery=False, + ) + mock_http.close.assert_called_once() + def test_method_error_checking(self): self.http = HttpMock(datafile("plus.json"), {"status": "200"}) plus = build("plus", "v1", http=self.http, static_discovery=False) From 45eec0bd852466a226808c4f18acf9075e8f46c7 Mon Sep 17 00:00:00 2001 From: Reginald Alfret Date: Fri, 25 Sep 2026 01:04:46 +0530 Subject: [PATCH 2/2] test(discovery): distinguish discovery and service HTTP mocks --- tests/test_discovery.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tests/test_discovery.py b/tests/test_discovery.py index 64961cd1cc..0d28e8a15b 100644 --- a/tests/test_discovery.py +++ b/tests/test_discovery.py @@ -1544,19 +1544,29 @@ def test_file_based_cache(self): class Discovery(unittest.TestCase): @mock.patch("googleapiclient.discovery.build_http") def test_discovery_http_is_closed(self, mock_build_http): - mock_http = mock.Mock() - mock_http.request.return_value = ( + mock_discovery_http = mock.Mock() + mock_service_http = mock.Mock() + + mock_discovery_http.request.return_value = ( + httplib2.Response({"status": "200"}), + read_datafile("plus.json", "rb"), + ) + mock_service_http.request.return_value = ( httplib2.Response({"status": "200"}), read_datafile("plus.json", "rb"), ) - mock_build_http.return_value = mock_http + mock_build_http.side_effect = [ + mock_discovery_http, + mock_service_http, + ] + build( "plus", "v1", developerKey="test_key", static_discovery=False, ) - mock_http.close.assert_called_once() + mock_discovery_http.close.assert_called_once() def test_method_error_checking(self): self.http = HttpMock(datafile("plus.json"), {"status": "200"})