def test_t000_wad_Campaign_add_remove_usingaddremove(self): print('wad_Campaign test t000') client = adwords.AdWordsClient.LoadFromStorage() # creates three new campaigns campaign0id = Campaign.addcampaign(client, 'test_t000_campaign0').campaignid campaign1id = Campaign.addcampaign(client, 'test_t000_campaign1').campaignid campaign2id = Campaign.addcampaign(client, 'test_t000_campaign2').campaignid # gets the lists of all campaigns campaignlist = Campaign.listcampaigns(client) campaignidlist = [] # builds a list of campaigns with status != REMOVED for campaign in campaignlist: if campaign['status'] != Campaign.STATE_REMOVED: campaignidlist.append(campaign['id']) # asserts the campaigns added are in the list self.assertTrue(campaign0id in campaignidlist) self.assertTrue(campaign1id in campaignidlist) self.assertTrue(campaign2id in campaignidlist) # removes the campaigns Campaign.removecampaign(client, campaign0id) Campaign.removecampaign(client, campaign1id) Campaign.removecampaign(client, campaign2id) # gets the list of all campaigns campaignlist = Campaign.listcampaigns(client) campaignidlist = [] # builds a list of campaigns with status != REMOVED for campaign in campaignlist: if campaign['status'] != Campaign.STATE_REMOVED: campaignidlist.append(campaign['campaignId']) # asserts the campaigns added are not in the list self.assertFalse(campaign0id in campaignidlist) self.assertFalse(campaign1id in campaignidlist) self.assertFalse(campaign2id in campaignidlist) Budget.removenorefbudgets(client)
def test_t025_wad_Campaign_sync_with_nonexisting_budget(self): print('wad_Campaign test t025') client = adwords.AdWordsClient.LoadFromStorage() # sync with django db Campaign.sync(client) campaign0 = Campaign(campaignname='t025_campaign0') campaign0.save() campaign1 = Campaign(campaignname='t025_campaign1') campaign1.save() campaign2 = Campaign(campaignname='t025_campaign2') campaign2.save() allcampaigns = Campaign.listcampaigns(client) for campaign in allcampaigns: if campaign['id'] == campaign0.campaignid: self.assertEqual(campaign['name'], campaign0.campaignname) if campaign['id'] == campaign1.campaignid: self.assertEqual(campaign['name'], campaign1.campaignname) if campaign['id'] == campaign2.campaignid: self.assertEqual(campaign['name'], campaign2.campaignname) campaign0.delete() campaign1.delete() campaign2.delete() removedbudgets = Budget.removenorefbudgets(client) self.assertEqual(len(removedbudgets), 3)
def test_t021_wad_Campaign_remove_noref_budgets(self): # this test checks if noref budgets are removed successfully using # Budget.removenorefbudgets ( ) client = adwords.AdWordsClient.LoadFromStorage() campaignnames = [ 'test_t021_campaign0', 'test_t021_campaign1', 'test_t021_campaign2' ] # create three campaigns with unspecified budgets, budgets are created # for them automatically c0 = Campaign.addcampaign(client, campaignnames[0]) c1 = Campaign.addcampaign(client, campaignnames[1]) c2 = Campaign.addcampaign(client, campaignnames[2]) # remove the campaigns, budgets are now 0 ref budgets Campaign.removecampaign(client, c0.campaignid) Campaign.removecampaign(client, c1.campaignid) Campaign.removecampaign(client, c2.campaignid) removedbudgets = Budget.removenorefbudgets(client) for budget in removedbudgets: print(budget.budgetname[11:]) self.assertTrue(budget.budgetname[11:] in campaignnames)
def test_t020_wad_Campaign_list_campaigns(self): client = adwords.AdWordsClient.LoadFromStorage() campaigns = Campaign.listcampaigns(client) rslt = Campaign._aw_addcampaign(client, 'test_t020_campaign0') #print ( rslt ) campaigns = Campaign.listcampaigns(client) Campaign.removecampaign(client, rslt['id']) rslt = Campaign.addcampaign(client, 'test_t020_campaign1') print(rslt) rslt = Campaign.removecampaign(client, rslt.campaignid) #print ( rslt ) Budget.removenorefbudgets(client)
def test_t023_wad_Campaign_sync_with_existing_budget(self): print('wad_Campaign test t023') client = adwords.AdWordsClient.LoadFromStorage() # sync with django db Campaign.sync(client) budget0 = Budget(budgetname='t023_budget0', budgetamount=10000000) budget0.save() budget1 = Budget(budgetname='t023_budget1', budgetamount=20000000) budget1.save() budget2 = Budget(budgetname='t023_budget2', budgetamount=30000000) budget2.save() campaign0 = Campaign(campaignname='t023_campaign0', campaignbudget=budget0) campaign0.save() campaign1 = Campaign(campaignname='t023_campaign1', campaignbudget=budget1) campaign1.save() campaign2 = Campaign(campaignname='t023_campaign2', campaignbudget=budget2) campaign2.save() allcampaigns = Campaign.listcampaigns(client) for campaign in allcampaigns: if campaign['budget']['budgetId'] == budget0.budgetid: self.assertEqual(campaign['budget']['amount']['microAmount'], budget0.budgetamount) if campaign['budget']['budgetId'] == budget1.budgetid: self.assertEqual(campaign['budget']['amount']['microAmount'], budget1.budgetamount) if campaign['budget']['budgetId'] == budget2.budgetid: self.assertEqual(campaign['budget']['amount']['microAmount'], budget2.budgetamount) campaign0.delete() campaign1.delete() campaign2.delete() removedbudgets = Budget.removenorefbudgets(client) self.assertEqual(len(removedbudgets), 3)
def test_t026_wad_Campaign_modify_sync(self): print('wad_Campaign test t026') client = adwords.AdWordsClient.LoadFromStorage() service = Campaign.serviceobj(client) # modify name campaign0 = Campaign(campaignname='t026_campaign0') campaign0.save() mdict = Campaign.modifydict( campaign0.campaignid, 't026_campaign0_renamed', campaign0.campaignstatus, campaign0.campaignbudget, campaign0.campaigntargetgooglesearch, campaign0.campaigntargetsearchnetwork, campaign0.campaigntargetcontentnetwork, ) service.mutate([mdict]) campaign0 = Campaign.objects.get(campaignid=campaign0.campaignid) self.assertEqual(campaign0.campaignname, 't026_campaign0') Campaign.sync(client) campaign0 = Campaign.objects.get(campaignid=campaign0.campaignid) self.assertEqual(campaign0.campaignname, 't026_campaign0_renamed') # modify status campaign1 = Campaign(campaignname='t026_campaign1') campaign1.save() statusnew = Campaign.objects.get( campaignid=campaign1.campaignid).campaignstatus if campaign1.campaignstatus == Campaign.STATE_ENABLED: statusnew = Campaign.STATE_PAUSED else: statusnew = Campaign.STATE_ENABLED mdict = Campaign.modifydict(campaign1.campaignid, campaign1.campaignname, statusnew, campaign1.campaignbudget, campaign1.campaigntargetgooglesearch, campaign1.campaigntargetsearchnetwork, campaign1.campaigntargetcontentnetwork) service.mutate([mdict]) if statusnew == Campaign.STATE_ENABLED: statusnew = Campaign.STATE_PAUSED else: statusnew = Campaign.STATE_ENABLED campaign1 = Campaign.objects.get(campaignid=campaign1.campaignid) self.assertEqual(campaign1.campaignstatus, statusnew) Campaign.sync(client) if statusnew == Campaign.STATE_ENABLED: statusnew = Campaign.STATE_PAUSED else: statusnew = Campaign.STATE_ENABLED campaign1 = Campaign.objects.get(campaignid=campaign1.campaignid) self.assertEqual(campaign1.campaignstatus, statusnew) # modify budget campaign2 = Campaign(campaignname='t026_campaign2') campaign2.save() oldbudget = Campaign.objects.get( campaignid=campaign2.campaignid).campaignbudget newbudget = Budget(client, 'test_t026_budget2', 6000000000) newbudget.save() mdict = Campaign.modifydict(campaign2.campaignid, campaign2.campaignname, campaign2.campaignstatus, newbudget.asdict(), campaign2.campaigntargetgooglesearch, campaign2.campaigntargetsearchnetwork, campaign2.campaigntargetcontentnetwork) service.mutate([mdict]) Campaign.sync(client) campaign2 = Campaign.objects.get(campaignid=campaign2.campaignid) self.assertNotEqual(campaign2.campaignbudget.budgetid, oldbudget.budgetid) self.assertEqual(campaign2.campaignbudget.budgetid, newbudget.budgetid) # modify budget name campaign3 = Campaign(campaignname='t026_campaign3') campaign3.save() abudget = campaign3.campaignbudget abudget.budgetname = 'budget_for_t026_new_budget_name' abudget.save() #mdict = Campaign.modifydict (campaign3.campaignid, #campaign3.campaignname, #campaign3.campaignstatus, #campaign3.campaignbudget, #campaign3.campaigntargetgooglesearch, #campaign3.campaigntargetsearchnetwork, #campaign3.campaigntargetcontentnetwork, #) #service.mutate ( [mdict] ) campaign3budgetname = Campaign.objects.get( campaignid=campaign3.campaignid).campaignbudget.budgetname self.assertEqual(campaign3budgetname, 'budget_for_t026_campaign3') Campaign.sync(client) campaign3budgetname = Campaign.objects.get( campaignid=campaign3.campaignid).campaignbudget.budgetname self.assertEqual(campaign3budgetname, 'budget_for_t026_new_budget_name') # modify budget 4 campaign4 = Campaign(campaignname='t026_campaign4') campaign4.save() oldbudget = Campaign.objects.get( campaignid=campaign4.campaignid).campaignbudget newbudget = Budget(client, 'test_t026_budget4', 6000000000) newbudget.save() campaign4.campaignbudget = newbudget campaign4.save() #Campaign.sync( client ) campaign4 = Campaign.objects.get(campaignid=campaign4.campaignid) self.assertNotEqual(campaign4.campaignbudget.budgetid, oldbudget.budgetid) self.assertEqual(campaign4.campaignbudget.budgetid, newbudget.budgetid) # modify ad channel type #campaign2 = Campaign ( campaignname = 't026_campaign2' ) #campaign2.save () #adchan = Campaign.objects.get ( campaignid = campaign2.campaignid ).campaignadchanneltype #if campaign2.campaignadchanneltype == Campaign.TYPE_AD_CHAN_SEARCH: #adchan = Campaign.TYPE_AD_CHAN_DISPLAY #else: #adchan = Campaign.TYPE_AD_CHAN_SEARCH #mdict = Campaign.modifydict (campaign2.campaignid, #campaign2.campaignname, #campaign2.campaignstatus, #adchan, #campaign2.campaignbudget ) #print ( mdict ) #service.mutate ( [mdict] ) #if adchan == Campaign.TYPE_AD_CHAN_SEARCH: #adchan = Campaign.TYPE_AD_CHAN_DISPLAY #else: #adchan = Campaign.TYPE_AD_CHAN_SEARCH #campaign2 = Campaign.objects.get ( campaignid = campaign2.campaignid ) #self.assertEqual ( campaign2.campaignadchanneltype, adchan ) #Campaign.sync( client ) #if adchan == Campaign.TYPE_AD_CHAN_SEARCH: #adchan = Campaign.TYPE_AD_CHAN_DISPLAY #else: #adchan = Campaign.TYPE_AD_CHAN_SEARCH #campaign2 = Campaign.objects.get ( campaignid = campaign2.campaignid ) #self.assertEqual ( campaign2.campaignadchanneltype, adchan ) campaign0.delete() campaign1.delete() campaign2.delete() campaign3.delete() campaign4.delete() removedbudgets = Budget.removenorefbudgets(client) self.assertEqual(len(removedbudgets), 5)
def test_t024_wad_Campaign_sync_with_existing_budget2(self): print('wad_Campaign test t024') client = adwords.AdWordsClient.LoadFromStorage() # sync with django db Campaign.sync(client) budget0 = Budget._aw_addbudget(client, 't024_budget0', 10000000) budget1 = Budget._aw_addbudget(client, 't024_budget1', 20000000) budget2 = Budget._aw_addbudget(client, 't024_budget2', 30000000) Budget.sync(client) campaign0 = Campaign._aw_addcampaign( client, 't024_campaign0', Budget.objects.get(budgetamount=10000000)) campaign1 = Campaign._aw_addcampaign( client, 't024_campaign1', Budget.objects.get(budgetamount=20000000)) campaign2 = Campaign._aw_addcampaign( client, 't024_campaign2', Budget.objects.get(budgetamount=30000000)) allcampaigns = Campaign.listcampaigns(client) #print ( budget0 ) for campaign in allcampaigns: if campaign['id'] == campaign0['id']: self.assertEqual(campaign['budget']['amount']['microAmount'], budget0['amount']['microAmount']) if campaign['id'] == campaign1['id']: self.assertEqual(campaign['budget']['amount']['microAmount'], budget1['amount']['microAmount']) if campaign['id'] == campaign2['id']: self.assertEqual(campaign['budget']['amount']['microAmount'], budget2['amount']['microAmount']) if campaign['budget']['budgetId'] == budget0['budgetId']: self.assertEqual(campaign['budget']['amount']['microAmount'], budget0['amount']['microAmount']) if campaign['budget']['budgetId'] == budget1['budgetId']: self.assertEqual(campaign['budget']['amount']['microAmount'], budget1['amount']['microAmount']) if campaign['budget']['budgetId'] == budget2['budgetId']: self.assertEqual(campaign['budget']['amount']['microAmount'], budget2['amount']['microAmount']) Campaign.sync(client) Campaign.objects.get(campaignbudget=Budget.objects.get( budgetid=budget0['budgetId'])).delete() Campaign.objects.get(campaignbudget=Budget.objects.get( budgetid=budget1['budgetId'])).delete() Campaign.objects.get(campaignbudget=Budget.objects.get( budgetid=budget2['budgetId'])).delete() #print ( campaign0 ) #campaign0.delete() #campaign1.delete() #campaign2.delete() Budget.removenorefbudgets(client)
def test_t003_wad_Campaign_sync_add_remove_usingsync(self): print('wad_Campaign test t003') client = adwords.AdWordsClient.LoadFromStorage() # sync with django db Campaign.sync(client) # beginning django campaigns queryset beginningcampaigns = Campaign.objects.all() # beginning awcampaignslst beginningawcampaignslst = Campaign.listcampaigns(client) # assert that the django campaign set and aw campaignset correspond self.assertEqual(len(beginningcampaigns), len(beginningawcampaignslst)) # create three new campaigns in aw campaign0id = Campaign._aw_addcampaign(client, 'test_t003_campaign0')['id'] campaign1id = Campaign._aw_addcampaign(client, 'test_t003_campaign1')['id'] campaign2id = Campaign._aw_addcampaign(client, 'test_t003_campaign2')['id'] # sync with django db Campaign.sync(client) # test if the new campaigns added to aw are in the Django system self.assertEqual( len(beginningcampaigns) + 3, len(Campaign.objects.all())) self.assertEqual( len(beginningawcampaignslst) + 3, len(Campaign.objects.all())) self.assertTrue( Campaign.objects.filter( campaignname='test_t003_campaign0').exists()) self.assertTrue( Campaign.objects.filter( campaignname='test_t003_campaign1').exists()) self.assertTrue( Campaign.objects.filter( campaignname='test_t003_campaign2').exists()) # removes the campaigns from aw Campaign.removecampaign(client, campaign0id) Campaign.removecampaign(client, campaign1id) Campaign.removecampaign(client, campaign2id) # sync with django db Campaign.sync(client) # test if the django campaign set is equal to the aw campaign set after deletions self.assertEqual(len(beginningcampaigns), len(Campaign.objects.all())) self.assertEqual(len(beginningawcampaignslst), len(Campaign.objects.all())) self.assertFalse( Campaign.objects.filter( campaignname='test_t003_campaign0').exists()) self.assertFalse( Campaign.objects.filter( campaignname='test_t003_campaign1').exists()) self.assertFalse( Campaign.objects.filter( campaignname='test_t003_campaign2').exists()) Budget.removenorefbudgets(client)