diff --git a/tests/examples/asyncio/async_add_campaigns_test.py b/tests/examples/asyncio/async_add_campaigns_test.py index 5b8729d96..5802c80a2 100644 --- a/tests/examples/asyncio/async_add_campaigns_test.py +++ b/tests/examples/asyncio/async_add_campaigns_test.py @@ -4,24 +4,33 @@ # Mocking modules before import because the environment seems to lack dependencies mock_google = MagicMock() -sys.modules["google"] = mock_google -sys.modules["google.ads"] = mock_google -sys.modules["google.ads.googleads"] = mock_google sys.modules["google.ads.googleads.client"] = mock_google sys.modules["google.ads.googleads.errors"] = mock_google sys.modules["google.ads.googleads.v23"] = mock_google sys.modules["google.ads.googleads.v23.resources"] = mock_google sys.modules["google.ads.googleads.v23.resources.types"] = mock_google sys.modules["google.ads.googleads.v23.resources.types.campaign"] = mock_google -sys.modules["google.ads.googleads.v23.resources.types.campaign_budget"] = mock_google +sys.modules["google.ads.googleads.v23.resources.types.campaign_budget"] = ( + mock_google +) sys.modules["google.ads.googleads.v23.services"] = mock_google sys.modules["google.ads.googleads.v23.services.services"] = mock_google -sys.modules["google.ads.googleads.v23.services.services.campaign_budget_service"] = mock_google -sys.modules["google.ads.googleads.v23.services.services.campaign_service"] = mock_google +sys.modules[ + "google.ads.googleads.v23.services.services.campaign_budget_service" +] = mock_google +sys.modules["google.ads.googleads.v23.services.services.campaign_service"] = ( + mock_google +) sys.modules["google.ads.googleads.v23.services.types"] = mock_google -sys.modules["google.ads.googleads.v23.services.types.campaign_budget_service"] = mock_google -sys.modules["google.ads.googleads.v23.services.types.campaign_service"] = mock_google -sys.modules["google.ads.googleads.v23.services.types.google_ads_service"] = mock_google +sys.modules[ + "google.ads.googleads.v23.services.types.campaign_budget_service" +] = mock_google +sys.modules["google.ads.googleads.v23.services.types.campaign_service"] = ( + mock_google +) +sys.modules["google.ads.googleads.v23.services.types.google_ads_service"] = ( + mock_google +) from examples.asyncio import async_add_campaigns @@ -29,7 +38,7 @@ class TestAsyncAddCampaigns(unittest.IsolatedAsyncioTestCase): async def test_main(self): # Setup Mocks - mock_client_instance = MagicMock() # Mock the client instance directly + mock_client_instance = MagicMock() # Mock the client instance directly mock_googleads_service = AsyncMock() mock_client_instance.get_service.return_value = mock_googleads_service @@ -56,18 +65,18 @@ async def test_main(self): # Setup inner objects mock_budget = mock_budget_op.create mock_campaign = mock_campaign_op.create - + # Setup response mock_response = MagicMock() mock_campaign_result = MagicMock() mock_campaign_result.resource_name = "customers/123/campaigns/456" - + # response.mutate_operation_responses[1].campaign_result mock_response.mutate_operation_responses = [ - MagicMock(), # budget result - MagicMock(campaign_result=mock_campaign_result) # campaign result + MagicMock(), # budget result + MagicMock(campaign_result=mock_campaign_result), # campaign result ] - + mock_googleads_service.mutate.return_value = mock_response customer_id = "1234567890" @@ -75,26 +84,38 @@ async def test_main(self): await async_add_campaigns.main(mock_client_instance, customer_id) # Verification - + # Check if service was retrieved correctly - mock_client_instance.get_service.assert_called_with("GoogleAdsService", is_async=True) + mock_client_instance.get_service.assert_called_with( + "GoogleAdsService", is_async=True + ) # Verify Budget Resource Name - expected_budget_resource_name = f"customers/{customer_id}/campaignBudgets/-1" - self.assertEqual(mock_budget.resource_name, expected_budget_resource_name) - + expected_budget_resource_name = ( + f"customers/{customer_id}/campaignBudgets/-1" + ) + self.assertEqual( + mock_budget.resource_name, expected_budget_resource_name + ) + # Verify Campaign references Budget - self.assertEqual(mock_campaign.campaign_budget, expected_budget_resource_name) + self.assertEqual( + mock_campaign.campaign_budget, expected_budget_resource_name + ) # Verify MutateOperations were constructed - self.assertEqual(mock_mutate_op_budget.campaign_budget_operation, mock_budget_op) - self.assertEqual(mock_mutate_op_campaign.campaign_operation, mock_campaign_op) + self.assertEqual( + mock_mutate_op_budget.campaign_budget_operation, mock_budget_op + ) + self.assertEqual( + mock_mutate_op_campaign.campaign_operation, mock_campaign_op + ) # Verify GoogleAdsService.mutate called with correct operations mock_googleads_service.mutate.assert_called_once() call_args = mock_googleads_service.mutate.call_args self.assertEqual(call_args.kwargs["customer_id"], customer_id) - + operations = call_args.kwargs["mutate_operations"] self.assertEqual(len(operations), 2) self.assertEqual(operations[0], mock_mutate_op_budget) diff --git a/tests/examples/asyncio/async_search_stream_test.py b/tests/examples/asyncio/async_search_stream_test.py index 87afbf8a2..8907c888c 100644 --- a/tests/examples/asyncio/async_search_stream_test.py +++ b/tests/examples/asyncio/async_search_stream_test.py @@ -4,17 +4,18 @@ # Mocking modules before import because the environment seems to lack dependencies mock_google = MagicMock() -sys.modules["google"] = mock_google -sys.modules["google.ads"] = mock_google -sys.modules["google.ads.googleads"] = mock_google sys.modules["google.ads.googleads.client"] = mock_google sys.modules["google.ads.googleads.errors"] = mock_google sys.modules["google.ads.googleads.v23"] = mock_google sys.modules["google.ads.googleads.v23.services"] = mock_google sys.modules["google.ads.googleads.v23.services.services"] = mock_google -sys.modules["google.ads.googleads.v23.services.services.google_ads_service"] = mock_google +sys.modules["google.ads.googleads.v23.services.services.google_ads_service"] = ( + mock_google +) sys.modules["google.ads.googleads.v23.services.types"] = mock_google -sys.modules["google.ads.googleads.v23.services.types.google_ads_service"] = mock_google +sys.modules["google.ads.googleads.v23.services.types.google_ads_service"] = ( + mock_google +) # Import module under test AFTER mocking from examples.asyncio import async_search_stream @@ -29,19 +30,19 @@ async def test_main(self): # Mock the stream response # search_stream returns an async iterator of batches - + # Create a mock batch mock_row = MagicMock() mock_row.campaign.id = 123 mock_row.campaign.name = "Test Campaign" - + mock_batch = MagicMock() mock_batch.results = [mock_row] # Async iterator setup async def async_gen(): yield mock_batch - + mock_googleads_service.search_stream.return_value = async_gen() customer_id = "1234567890" @@ -50,15 +51,17 @@ async def async_gen(): await async_search_stream.main(mock_client_instance, customer_id) # Verification - + # Check if service was retrieved correctly - mock_client_instance.get_service.assert_called_with("GoogleAdsService", is_async=True) + mock_client_instance.get_service.assert_called_with( + "GoogleAdsService", is_async=True + ) # Verify search_stream called mock_googleads_service.search_stream.assert_called_once() call_args = mock_googleads_service.search_stream.call_args self.assertEqual(call_args.kwargs["customer_id"], customer_id) - + # Verify Query does NOT contain LIMIT 10 query = call_args.kwargs["query"] self.assertNotIn("LIMIT 10", query) diff --git a/tests/examples/asyncio/async_search_test.py b/tests/examples/asyncio/async_search_test.py index f77543acb..004e6047c 100644 --- a/tests/examples/asyncio/async_search_test.py +++ b/tests/examples/asyncio/async_search_test.py @@ -4,17 +4,18 @@ # Mocking modules before import because the environment seems to lack dependencies mock_google = MagicMock() -sys.modules["google"] = mock_google -sys.modules["google.ads"] = mock_google -sys.modules["google.ads.googleads"] = mock_google sys.modules["google.ads.googleads.client"] = mock_google sys.modules["google.ads.googleads.errors"] = mock_google sys.modules["google.ads.googleads.v23"] = mock_google sys.modules["google.ads.googleads.v23.services"] = mock_google sys.modules["google.ads.googleads.v23.services.services"] = mock_google -sys.modules["google.ads.googleads.v23.services.services.google_ads_service"] = mock_google +sys.modules["google.ads.googleads.v23.services.services.google_ads_service"] = ( + mock_google +) sys.modules["google.ads.googleads.v23.services.types"] = mock_google -sys.modules["google.ads.googleads.v23.services.types.google_ads_service"] = mock_google +sys.modules["google.ads.googleads.v23.services.types.google_ads_service"] = ( + mock_google +) # Import module under test AFTER mocking from examples.asyncio import async_search @@ -29,16 +30,16 @@ async def test_main(self): # Mock the search response (AsyncPager) # search returns an object that is an async iterator - + # Create a mock row mock_row = MagicMock() mock_row.campaign.id = 123 mock_row.campaign.name = "Test Campaign" - + # Async iterator setup for the pager async def async_gen(): yield mock_row - + mock_googleads_service.search.return_value = async_gen() customer_id = "1234567890" @@ -47,15 +48,17 @@ async def async_gen(): await async_search.main(mock_client_instance, customer_id) # Verification - + # Check if service was retrieved correctly - mock_client_instance.get_service.assert_called_with("GoogleAdsService", is_async=True) + mock_client_instance.get_service.assert_called_with( + "GoogleAdsService", is_async=True + ) # Verify search called mock_googleads_service.search.assert_called_once() call_args = mock_googleads_service.search.call_args self.assertEqual(call_args.kwargs["customer_id"], customer_id) - + # Verify Query does NOT contain LIMIT 10 query = call_args.kwargs["query"] self.assertNotIn("LIMIT 10", query)