def __get_by_id(rule_id): try: return Rule.get_by_id(rule_id) except (ValueError, ValidationError) as e: LOG.exception('Database lookup for id="%s" resulted in exception.', rule_id) abort(http_client.NOT_FOUND, str(e))
def test_rule_crud(self): triggertype = ReactorModelTest._create_save_triggertype() trigger = ReactorModelTest._create_save_trigger(triggertype) runnertype = ActionModelTest._create_save_runnertype() action = ActionModelTest._create_save_action(runnertype) saved = ReactorModelTest._create_save_rule(trigger, action) retrieved = Rule.get_by_id(saved.id) self.assertEqual(saved.name, retrieved.name, 'Same rule was not returned.') # test update self.assertEqual(retrieved.enabled, True) retrieved.enabled = False saved = Rule.add_or_update(retrieved) retrieved = Rule.get_by_id(saved.id) self.assertEqual(retrieved.enabled, False, 'Update to rule failed.') # cleanup ReactorModelTest._delete([retrieved, trigger, action, runnertype, triggertype]) try: retrieved = Rule.get_by_id(saved.id) except ValueError: retrieved = None self.assertIsNone(retrieved, 'managed to retrieve after failure.')