def run(self): """Perform the merge.""" from_person_name = self.from_person.name to_person_name = self.to_person.name from lp.services.scripts import log if self.metadata.get('delete', False): log.debug( "%s is about to delete ~%s", self.log_name, from_person_name) merge_people( from_person=self.from_person, to_person=getUtility(ILaunchpadCelebrities).registry_experts, reviewer=self.reviewer, delete=True) log.debug( "%s has deleted ~%s", self.log_name, from_person_name) else: log.debug( "%s is about to merge ~%s into ~%s", self.log_name, from_person_name, to_person_name) merge_people( from_person=self.from_person, to_person=self.to_person, reviewer=self.reviewer) log.debug( "%s has merged ~%s into ~%s", self.log_name, from_person_name, to_person_name)
def test_delete_no_notifications(self): team = self.factory.makeTeam() owner = team.teamowner transaction.commit() with dbuser(config.IPersonMergeJobSource.dbuser): merge_people( team, getUtility(ILaunchpadCelebrities).registry_experts, owner, delete=True) notification_set = getUtility(IPersonNotificationSet) notifications = notification_set.getNotificationsToSend() self.assertEqual(0, notifications.count())
def test_delete_no_notifications(self): team = self.factory.makeTeam() owner = team.teamowner transaction.commit() with dbuser(config.IPersonMergeJobSource.dbuser): merge_people(team, getUtility(ILaunchpadCelebrities).registry_experts, owner, delete=True) notification_set = getUtility(IPersonNotificationSet) notifications = notification_set.getNotificationsToSend() self.assertEqual(0, notifications.count())
def _do_merge(self, from_person, to_person, reviewer=None): # Perform the merge as the db user that will be used by the jobs. with dbuser(config.IPersonMergeJobSource.dbuser): merge_people(from_person, to_person, reviewer=reviewer) return from_person, to_person