def testGetByCampaign(self): loader = AdGroup(AdGroupTest.conn) ad_groups = loader.get_by_campaign(self.campaign_id) ad_groups = json.loads(ad_groups).get("data").get("Result") for test_group in ad_groups: assert test_group.get('AdGroupId') is not None ad_group_name = 'Test SMP API Ad Group' ad_groups = loader.get_by_name(self.campaign_id, ad_group_name) ad_groups = json.loads(ad_groups).get("data").get("Result") for test_group in ad_groups: assert test_group.get('AdGroupName') == 'Test SMP API Ad Group'
def testGetAdGroup(self): loader = AdGroup(AdGroupTest.conn) reloaded = loader.find('o943m30') reloaded['RTBAttributes']['BudgetSettings'] = { 'Budget': { 'Amount': 1000.00, 'CurrencyCode': 'USD' }, 'DailyBudget': { 'Amount': 100.00, 'CurrencyCode': 'USD' }, 'PacingEnabled': True } reloaded['RTBAttributes']['BaseBidCPM'] = { 'Amount': 1.00, 'CurrencyCode': 'USD' } reloaded['RTBAttributes']['MaxBidCPM'] = { 'Amount': 1.00, 'CurrencyCode': 'USD' } reloaded.set_domains(['http://www.ign.com']) """ print "========================" print reloaded.getId() print "========================" currentList = [reloaded.getId()] if 'SiteTargeting' in reloaded['RTBAttributes']: # If Ad Group as a current list, use it and append the new ID. if 'SiteListIds' in reloaded['RTBAttributes']['SiteTargeting']: currentList = reloaded['RTBAttributes']['SiteTargeting']['SiteListIds'] currentList.append(reloaded.getId()) print "!!!!!!!!!!!!!!!!!!!!!" print currentList print "!!!!!!!!!!!!!!!!!!!!!" """ """ reloaded['RTBAttributes']['SiteTargeting'] = { 'SiteListIds': currentList, 'SiteListFallThroughAdjustment': 0 } """ reloaded.save()
def testGetAdGroup(self): loader = AdGroup(AdGroupTest.conn) ad_group = loader.find('gzv3s54') ad_group = json.loads(ad_group).get('data') assert ad_group.get('AdGroupId') is not None
def testGetByCampaign(self): # Create an advertiser first. adv = Advertiser(AdGroupTest.conn) adv['AdvertiserName'] = 'ad group adv test' adv['AttributionClickLookbackWindowInSeconds'] = 3600 adv['AttributionImpressionLookbackWindowInSeconds'] = 3600 adv['ClickDedupWindowInSeconds'] = 7 adv['ConversionDedupWindowInSeconds'] = 60 adv['DefaultRightMediaOfferTypeId'] = 1 # Adult adv['IndustryCategoryId'] = 54 # Entertainment adv['PartnerId'] = '73qiy5s' adv.create() # Create a campaign first. campaign = Campaign(AdGroupTest.conn) campaign['AdvertiserId'] = adv.get('AdvertiserId') campaign['CampaignName'] = "test campaign for ad group" campaign['Budget'] = {'Amount': '10000.00', 'CurrencyCode': 'USD'} campaign['StartDate'] = '2015-02-01' campaign['CampaignConversionReportingColumns'] = [] result = campaign.create() # Create an advertiser first. contract = Contract(AdGroupTest.conn) contract['Name'] = 'Contract Test' contract['OwnerPartnerId'] = '73qiy5s' contract["StartDateUtc"] = "2015-04-30T21:21:19.7668268" code = int(time.time()) deals = [{ "SupplyVendorId": 7, # AppNexus "SupplyVendorDealId": str(code), # AppNexus "FloorPriceCPM": { "CurrencyCode": "USD", "Amount": 1.0 } }] contract['Deals'] = deals contract.create() ad_group = AdGroup(AdGroupTest.conn) ad_group['CampaignId'] = campaign.get('CampaignId') ad_group['AdGroupName'] = 'ad group test' ad_group['IndustryCategoryId'] = 54 attributes = { 'BudgetSettings': { 'Budget': {'Amount': 1000.00, 'CurrencyCode': 'USD'}, 'DailyBudget': {'Amount': 100.00, 'CurrencyCode': 'USD'}, 'PacingEnabled': True }, 'BaseBidCPM': {'Amount': 1.00, 'CurrencyCode': 'USD'}, 'MaxBidCPM': {'Amount': 2.00, 'CurrencyCode': 'USD'}, 'ContractTargeting': { 'InventoryTargetingType': 'BothMarkets', 'ContractIds': [contract.get('ContractId')] } } ad_group['RTBAttributes'] = attributes ad_group.set_domains(["espn.com", "cnn.com"]) ad_group.create() ad_groups = ad_group.get_by_campaign(campaign.get('CampaignId')) for test_group in ad_groups: assert test_group.get('id') == ad_group.get('id') ad_groups = ad_group.get_by_name(campaign.get('CampaignId'), 'ad group test') for test_group in ad_groups: assert test_group.get('AdGroupName') == 'ad group test'
def testCreate(self): # Create an advertiser first. adv = Advertiser(AdGroupTest.conn) adv['AdvertiserName'] = 'ad group adv test eman' adv['AttributionClickLookbackWindowInSeconds'] = 3600 adv['AttributionImpressionLookbackWindowInSeconds'] = 3600 adv['ClickDedupWindowInSeconds'] = 7 adv['ConversionDedupWindowInSeconds'] = 60 adv['DefaultRightMediaOfferTypeId'] = 1 # Adult adv['IndustryCategoryId'] = 54 # Entertainment adv['PartnerId'] = '73qiy5s' adv.create() # Create a campaign first. campaign = Campaign(AdGroupTest.conn) campaign['AdvertiserId'] = adv.get('AdvertiserId') campaign['CampaignName'] = "test campaign for ad group" campaign['Budget'] = {'Amount': '10000.00', 'CurrencyCode': 'USD'} campaign['StartDate'] = '2015-02-01' campaign['CampaignConversionReportingColumns'] = [] result = campaign.create() # Create an advertiser first. contract = Contract(AdGroupTest.conn) contract['Name'] = 'Contract Test' contract['OwnerPartnerId'] = '73qiy5s' contract["StartDateUtc"] = "2015-04-30T21:21:19.7668268" code = int(time.time()) deals = [{ "SupplyVendorId": 7, # AppNexus "SupplyVendorDealId": str(code), # AppNexus "FloorPriceCPM": { "CurrencyCode": "USD", "Amount": 1.0 } }] contract['Deals'] = deals contract.create() ad_group = AdGroup(AdGroupTest.conn) ad_group['CampaignId'] = campaign.get('CampaignId') ad_group['AdGroupName'] = 'ad group test' ad_group['IndustryCategoryId'] = 54 ad_group attributes = { 'BudgetSettings': { 'Budget': { 'Amount': 1000.00, 'CurrencyCode': 'USD' }, 'DailyBudget': { 'Amount': 100.00, 'CurrencyCode': 'USD' }, 'PacingEnabled': True }, 'BaseBidCPM': { 'Amount': 1.00, 'CurrencyCode': 'USD' }, 'MaxBidCPM': { 'Amount': 2.00, 'CurrencyCode': 'USD' }, } ad_group['RTBAttributes'] = attributes ad_group.set_deals([contract.get('ContractId')]) ad_group.create() assert ad_group.get('AdGroupId') is not None loader = AdGroup(AdGroupTest.conn) reloaded = loader.find(ad_group.get('AdGroupId')) assert ad_group.get('AdGroupId') == reloaded.get('AdGroupId') # test save reloaded.save()