44
55# Mocking modules before import because the environment seems to lack dependencies
66mock_google = MagicMock ()
7- sys .modules ["google" ] = mock_google
8- sys .modules ["google.ads" ] = mock_google
9- sys .modules ["google.ads.googleads" ] = mock_google
107sys .modules ["google.ads.googleads.client" ] = mock_google
118sys .modules ["google.ads.googleads.errors" ] = mock_google
129sys .modules ["google.ads.googleads.v23" ] = mock_google
1310sys .modules ["google.ads.googleads.v23.resources" ] = mock_google
1411sys .modules ["google.ads.googleads.v23.resources.types" ] = mock_google
1512sys .modules ["google.ads.googleads.v23.resources.types.campaign" ] = mock_google
16- sys .modules ["google.ads.googleads.v23.resources.types.campaign_budget" ] = mock_google
13+ sys .modules ["google.ads.googleads.v23.resources.types.campaign_budget" ] = (
14+ mock_google
15+ )
1716sys .modules ["google.ads.googleads.v23.services" ] = mock_google
1817sys .modules ["google.ads.googleads.v23.services.services" ] = mock_google
19- sys .modules ["google.ads.googleads.v23.services.services.campaign_budget_service" ] = mock_google
20- sys .modules ["google.ads.googleads.v23.services.services.campaign_service" ] = mock_google
18+ sys .modules [
19+ "google.ads.googleads.v23.services.services.campaign_budget_service"
20+ ] = mock_google
21+ sys .modules ["google.ads.googleads.v23.services.services.campaign_service" ] = (
22+ mock_google
23+ )
2124sys .modules ["google.ads.googleads.v23.services.types" ] = mock_google
22- sys .modules ["google.ads.googleads.v23.services.types.campaign_budget_service" ] = mock_google
23- sys .modules ["google.ads.googleads.v23.services.types.campaign_service" ] = mock_google
24- sys .modules ["google.ads.googleads.v23.services.types.google_ads_service" ] = mock_google
25+ sys .modules [
26+ "google.ads.googleads.v23.services.types.campaign_budget_service"
27+ ] = mock_google
28+ sys .modules ["google.ads.googleads.v23.services.types.campaign_service" ] = (
29+ mock_google
30+ )
31+ sys .modules ["google.ads.googleads.v23.services.types.google_ads_service" ] = (
32+ mock_google
33+ )
2534
2635from examples .asyncio import async_add_campaigns
2736
2837
2938class TestAsyncAddCampaigns (unittest .IsolatedAsyncioTestCase ):
3039 async def test_main (self ):
3140 # Setup Mocks
32- mock_client_instance = MagicMock () # Mock the client instance directly
41+ mock_client_instance = MagicMock () # Mock the client instance directly
3342 mock_googleads_service = AsyncMock ()
3443 mock_client_instance .get_service .return_value = mock_googleads_service
3544
@@ -56,45 +65,57 @@ async def test_main(self):
5665 # Setup inner objects
5766 mock_budget = mock_budget_op .create
5867 mock_campaign = mock_campaign_op .create
59-
68+
6069 # Setup response
6170 mock_response = MagicMock ()
6271 mock_campaign_result = MagicMock ()
6372 mock_campaign_result .resource_name = "customers/123/campaigns/456"
64-
73+
6574 # response.mutate_operation_responses[1].campaign_result
6675 mock_response .mutate_operation_responses = [
67- MagicMock (), # budget result
68- MagicMock (campaign_result = mock_campaign_result ) # campaign result
76+ MagicMock (), # budget result
77+ MagicMock (campaign_result = mock_campaign_result ), # campaign result
6978 ]
70-
79+
7180 mock_googleads_service .mutate .return_value = mock_response
7281
7382 customer_id = "1234567890"
7483
7584 await async_add_campaigns .main (mock_client_instance , customer_id )
7685
7786 # Verification
78-
87+
7988 # Check if service was retrieved correctly
80- mock_client_instance .get_service .assert_called_with ("GoogleAdsService" , is_async = True )
89+ mock_client_instance .get_service .assert_called_with (
90+ "GoogleAdsService" , is_async = True
91+ )
8192
8293 # Verify Budget Resource Name
83- expected_budget_resource_name = f"customers/{ customer_id } /campaignBudgets/-1"
84- self .assertEqual (mock_budget .resource_name , expected_budget_resource_name )
85-
94+ expected_budget_resource_name = (
95+ f"customers/{ customer_id } /campaignBudgets/-1"
96+ )
97+ self .assertEqual (
98+ mock_budget .resource_name , expected_budget_resource_name
99+ )
100+
86101 # Verify Campaign references Budget
87- self .assertEqual (mock_campaign .campaign_budget , expected_budget_resource_name )
102+ self .assertEqual (
103+ mock_campaign .campaign_budget , expected_budget_resource_name
104+ )
88105
89106 # Verify MutateOperations were constructed
90- self .assertEqual (mock_mutate_op_budget .campaign_budget_operation , mock_budget_op )
91- self .assertEqual (mock_mutate_op_campaign .campaign_operation , mock_campaign_op )
107+ self .assertEqual (
108+ mock_mutate_op_budget .campaign_budget_operation , mock_budget_op
109+ )
110+ self .assertEqual (
111+ mock_mutate_op_campaign .campaign_operation , mock_campaign_op
112+ )
92113
93114 # Verify GoogleAdsService.mutate called with correct operations
94115 mock_googleads_service .mutate .assert_called_once ()
95116 call_args = mock_googleads_service .mutate .call_args
96117 self .assertEqual (call_args .kwargs ["customer_id" ], customer_id )
97-
118+
98119 operations = call_args .kwargs ["mutate_operations" ]
99120 self .assertEqual (len (operations ), 2 )
100121 self .assertEqual (operations [0 ], mock_mutate_op_budget )
0 commit comments