def __get_by_id(trigger_id): try: return Trigger.get_by_id(trigger_id) except (ValueError, ValidationError): LOG.exception('Database lookup for id="%s" resulted in exception.', trigger_id) abort(http_client.NOT_FOUND)
def test_trigger_crud(self): triggertype = ReactorModelTest._create_save_triggertype() saved = ReactorModelTest._create_save_trigger(triggertype) retrieved = Trigger.get_by_id(saved.id) self.assertEqual(saved.name, retrieved.name, 'Same trigger was not returned.') # test update self.assertEqual(retrieved.description, '') retrieved.description = DUMMY_DESCRIPTION saved = Trigger.add_or_update(retrieved) retrieved = Trigger.get_by_id(saved.id) self.assertEqual(retrieved.description, DUMMY_DESCRIPTION, 'Update to trigger failed.') # cleanup ReactorModelTest._delete([retrieved, triggertype]) try: retrieved = Trigger.get_by_id(saved.id) except ValueError: retrieved = None self.assertIsNone(retrieved, 'managed to retrieve after failure.')
def test_create_trigger_db_from_rule_duplicate(self): test_fixtures = { 'rules': ['cron_timer_rule_1.json', 'cron_timer_rule_2.json'] } loader = FixturesLoader() fixtures = loader.load_fixtures(fixtures_pack='generic', fixtures_dict=test_fixtures) rules = fixtures['rules'] trigger_db_ret_1 = trigger_service.create_trigger_db_from_rule( RuleAPI(**rules['cron_timer_rule_1.json'])) self.assertTrue(trigger_db_ret_1 is not None) trigger_db_ret_2 = trigger_service.create_trigger_db_from_rule( RuleAPI(**rules['cron_timer_rule_2.json'])) self.assertTrue(trigger_db_ret_2 is not None) self.assertEqual(trigger_db_ret_1, trigger_db_ret_2, 'Should reuse same trigger.') trigger_db = Trigger.get_by_id(trigger_db_ret_1.id) self.assertDictEqual(trigger_db.parameters, rules['cron_timer_rule_1.json']['trigger']['parameters'])
def test_create_trigger_db_from_rule_duplicate(self): test_fixtures = { 'rules': ['cron_timer_rule_1.json', 'cron_timer_rule_2.json'] } loader = FixturesLoader() fixtures = loader.load_fixtures(fixtures_pack='generic', fixtures_dict=test_fixtures) rules = fixtures['rules'] trigger_db_ret_1 = trigger_service.create_trigger_db_from_rule( RuleAPI(**rules['cron_timer_rule_1.json'])) self.assertTrue(trigger_db_ret_1 is not None) trigger_db_ret_2 = trigger_service.create_trigger_db_from_rule( RuleAPI(**rules['cron_timer_rule_2.json'])) self.assertTrue(trigger_db_ret_2 is not None) self.assertEqual(trigger_db_ret_1, trigger_db_ret_2, 'Should reuse same trigger.') trigger_db = Trigger.get_by_id(trigger_db_ret_1.id) self.assertDictEqual( trigger_db.parameters, rules['cron_timer_rule_1.json']['trigger']['parameters'])