def setUpClass(self): client = adwords.AdWordsClient.LoadFromStorage() # keep a list of starting campaigns self.startingcampaigns = Campaign.listcampaigns(client) # create a list of starting campaign ids for campaign in self.startingcampaigns: self.startingcampaignsids.append(campaign['id']) # keep track of the len of the starting campaigns list in aw self.n_non_test_campaigns_aw = len(self.startingcampaigns) # keep track of the len of the starting campaigns list in django Campaign.sync(client) self.n_non_test_campaigns_db = len(Campaign.objects.all()) # budgets section # keep a list of starting budgets self.startingbudgets = Budget.listbudgets(client) # create a list of starting budget ids for budget in self.startingbudgets: self.startingbudgetsids.append(budget['budgetId']) # keep track of the len of the starting budgets list in aw self.n_non_test_budgets_aw = len(self.startingbudgets) # keep track of the len of the starting budgets list in django Budget.sync(client) self.n_non_test_budgets_db = len(Budget.objects.all())
def test_t005_wad_Budget_create_remove_sync(self): print('wad_Budget test t005') client = adwords.AdWordsClient.LoadFromStorage() # create the budgets in aw and django newbudget0 = Budget(budgetname='test005_budget0name0') newbudget1 = Budget(budgetname='test005_budget1name1') newbudget2 = Budget(budgetname='test005_budget2name2') newbudget0.save() newbudget1.save() newbudget2.save() # remove the budgets from aw Budget._aw_removebudget(client, newbudget0.budgetid) Budget._aw_removebudget(client, newbudget1.budgetid) Budget._aw_removebudget(client, newbudget2.budgetid) #Budget.removebudget ( client, newbudget0.budgetid ) #Budget.removebudget ( client, newbudget1.budgetid ) #Budget.removebudget ( client, newbudget2.budgetid ) # sync with django db Budget.sync(client) return
def test_t001_wad_Budget_sync_add_remove_usingaddremove(self): print('wad_Budget test t001') client = adwords.AdWordsClient.LoadFromStorage() # sync with django db Budget.sync(client) # beginning django budgets queryset beginningbudgets = Budget.objects.all() # beginning awbudgetslst beginningawbudgetslst = Budget.listbudgets(client) # assert that the django budget set and aw budgetset correspond self.assertEqual(len(beginningbudgets), len(beginningawbudgetslst)) # create three new budgets in aw budget0id = Budget.addbudget(client, 'test_t001_budget0', 7000000000).budgetid budget1id = Budget.addbudget(client, 'test_t001_budget1', 7000000000).budgetid budget2id = Budget.addbudget(client, 'test_t001_budget2', 7000000000).budgetid # sync with django db ###Budget.sync ( client ) # test if the new budgets added to aw are in the Django system self.assertEqual(len(beginningbudgets) + 3, len(Budget.objects.all())) self.assertEqual( len(beginningawbudgetslst) + 3, len(Budget.objects.all())) self.assertTrue( Budget.objects.filter(budgetname='test_t001_budget0').exists()) self.assertTrue( Budget.objects.filter(budgetname='test_t001_budget1').exists()) self.assertTrue( Budget.objects.filter(budgetname='test_t001_budget2').exists()) # removes the budgets from aw Budget.removebudget(client, budget0id) Budget.removebudget(client, budget1id) Budget.removebudget(client, budget2id) # sync with django db ###Budget.sync ( client ) # test if the django budget set is equal to the aw budget set after deletions self.assertEqual(len(beginningbudgets), len(Budget.objects.all())) self.assertEqual(len(beginningawbudgetslst), len(Budget.objects.all())) self.assertFalse( Budget.objects.filter(budgetname='test_t001_budget0').exists()) self.assertFalse( Budget.objects.filter(budgetname='test_t001_budget1').exists()) self.assertFalse( Budget.objects.filter(budgetname='test_t001_budget2').exists())
def test_t004_wad_Budget_sync_modify(self): print('wad_Budget test t004') client = adwords.AdWordsClient.LoadFromStorage() # add 3 budgets to aw only budget0 = Budget._aw_addbudget(client, 'test_t004_budget0', 7000000000) budget1 = Budget._aw_addbudget(client, 'test_t004_budget1', 7000000000) budget2 = Budget._aw_addbudget(client, 'test_t004_budget2', 7000000000) # initial sync Budget.sync(client) # control will be used to check if the values return to original after modifications beginningbudgets_control = Budget.objects.all() # queryset used to modify values beginningbudgets = Budget.objects.all() # make sure we are working with querysets that aren't empty, should be at least 3 self.assertTrue(len(beginningbudgets) >= 3) self.assertTrue(len(beginningbudgets_control) >= 3) # change values in the django database for budget in beginningbudgets: budget.budgetstatus = Budget.STATE_TESTING budget.budgetname = budget.budgetname + '_testing' budget.budgetamount = budget.budgetamount + 10000000 budget.save(sync_aw=False) # sync Budget.sync(client) # queryset used to test if values revert to original values postmodifybudgets = Budget.objects.all() # make sure we are working with querysets that aren't empty, should be at least 3 b/c of SetUp self.assertTrue(len(postmodifybudgets) >= 3) # iterate budgets in database to check if values returned to original for budget in postmodifybudgets: controlbudget = beginningbudgets_control.get(id=budget.id) self.assertEqual(controlbudget.budgetstatus, budget.budgetstatus) self.assertEqual(controlbudget.budgetname, budget.budgetname) self.assertEqual(controlbudget.budgetamount, budget.budgetamount) # remove the budgets we initially created Budget.removebudget(client, budget0['budgetId']) Budget.removebudget(client, budget1['budgetId']) Budget.removebudget(client, budget2['budgetId'])
def handle ( self, *args, **options ): client = adwords.AdWordsClient.LoadFromStorage() syncobjs = Budget.sync ( client ) print ( 'modified: %s' % syncobjs.rmodified ) print ( 'added: %s' % syncobjs.radded ) print ( 'removed: %s' % syncobjs.rremoved ) print ( 'Budget sync complete. Synced %s budgets.' % len ( Budget.objects.all() ) )
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)