def test_trigger_get_by_short_id(self): trigger_ids = ['same-part-unique-part', 'same-part-part-unique'] for pid in trigger_ids: self._create_trigger(self.ctx, id=pid) # verify creation with set ID trigger = db_api.trigger_get(self.ctx, pid) self.assertIsNotNone(trigger) self.assertEqual(pid, trigger.id) # too short -> multiple choices for x in range(len('same-part-')): self.assertRaises(exception.MultipleChoices, db_api.trigger_get_by_short_id, self.ctx, trigger_ids[0][:x]) # ids are unique trigger = db_api.trigger_get_by_short_id(self.ctx, trigger_ids[0][:11]) self.assertEqual(trigger_ids[0], trigger.id) trigger = db_api.trigger_get_by_short_id(self.ctx, trigger_ids[1][:11]) self.assertEqual(trigger_ids[1], trigger.id) # bad ids res = db_api.trigger_get_by_short_id(self.ctx, 'non-existent') self.assertIsNone(res)
def test_trigger_get_by_short_id_diff_project(self): trigger_id = 'same-part-unique-part' self._create_trigger(self.ctx, id=trigger_id) new_ctx = utils.dummy_context(project='a-different-project') trigger = db_api.trigger_get_by_short_id(new_ctx, trigger_id[:11]) self.assertIsNone(trigger) trigger = db_api.trigger_get_by_short_id(new_ctx, trigger_id[:11], project_safe=False) self.assertIsNotNone(trigger) self.assertEqual(trigger_id, trigger.id)