def test_create_get_delete_restore_delete(self): c = get_client(KeywordsClient) camp_c = get_client(CampaignsClient) grp_c = get_client(GroupsClient) # 0) prepare campaign and group campaign = Campaign(self.campaign) campaign.name += 'crud' campaign_id = camp_c.create_campaigns([campaign])[0] group = Group(self.group) group.campaignId = campaign_id group_id = grp_c.create_groups([group])[0] keyword = Keyword(self.keyword) keyword.groupId = group_id # 1) create ids = c.create_keywords([keyword]) existing = len(c.list_keywords(groups=[group_id])) self.assertEqual(existing, 1) # 2) check equality from_api = c.get_keywords(ids)[0] for key, val in self.keyword: self.assertEqual(val, getattr(from_api, key)) # 3) delete c.remove_keywords(ids) existing2 = len(c.list_keywords(groups=[group_id])) self.assertEqual(0, existing2) # 4) restore c.restore_keywords(ids) existing3 = len(c.list_keywords(groups=[group_id])) self.assertEqual(1, existing3) # 5) update keyword = Keyword(self.keyword) keyword.cpc = 10000 keyword.id = ids[0] c.update_keywords([keyword]) # 6) check equality from_api = c.get_keywords(ids)[0] for key, val in keyword: self.assertEqual(val, getattr(from_api, key)) # 7) delete c.remove_keywords(ids) grp_c.remove_groups([group_id]) camp_c.remove_campaigns([campaign_id])