def test_add_trigger_type(self): """ This sensor has misconfigured trigger type. We shouldn't explode. """ class FailTestSensor(object): started = False def setup(self): pass def start(self): FailTestSensor.started = True def stop(self): pass def get_trigger_types(self): return [ {'description': 'Ain\'t got no name'} ] try: trigger_service.add_trigger_models(FailTestSensor().get_trigger_types()) self.assertTrue(False, 'Trigger type doesn\'t have \'name\' field. Should have thrown.') except Exception: self.assertTrue(True)
def test_add_trigger_type_with_params(self): MOCK_TRIGGER.type = 'system.test' # Trigger type with params should not create a trigger. PARAMETERS_SCHEMA = { "type": "object", "properties": { "url": {"type": "string"} }, "required": ['url'], "additionalProperties": False } trig_type = { 'name': 'myawesometriggertype2', 'pack': 'my_pack_1', 'description': 'Words cannot describe how awesome I am.', 'parameters_schema': PARAMETERS_SCHEMA, 'payload_schema': {} } trigtype_dbs = trigger_service.add_trigger_models(trigger_types=[trig_type]) trigger_type, trigger = trigtype_dbs[0] trigtype_db = TriggerType.get_by_id(trigger_type.id) self.assertEqual(trigtype_db.pack, 'my_pack_1') self.assertEqual(trigtype_db.name, trig_type.get('name')) self.assertEqual(trigger, None)
def test_add_trigger_type_with_params(self): MOCK_TRIGGER.type = "system.test" # Trigger type with params should not create a trigger. PARAMETERS_SCHEMA = { "type": "object", "properties": { "url": { "type": "string" } }, "required": ["url"], "additionalProperties": False, } trig_type = { "name": "myawesometriggertype2", "pack": "my_pack_1", "description": "Words cannot describe how awesome I am.", "parameters_schema": PARAMETERS_SCHEMA, "payload_schema": {}, } trigtype_dbs = trigger_service.add_trigger_models( trigger_types=[trig_type]) trigger_type, trigger = trigtype_dbs[0] trigtype_db = TriggerType.get_by_id(trigger_type.id) self.assertEqual(trigtype_db.pack, "my_pack_1") self.assertEqual(trigtype_db.name, trig_type.get("name")) self.assertEqual(trigger, None)
def test_add_trigger_type_no_params(self): # Trigger type with no params should create a trigger with same name as trigger type. trig_type = { 'name': 'myawesometriggertype', 'pack': 'dummy_pack_1', 'description': 'Words cannot describe how awesome I am.', 'parameters_schema': {}, 'payload_schema': {} } trigtype_dbs = trigger_service.add_trigger_models(trigger_types=[trig_type]) trigger_type, trigger = trigtype_dbs[0] trigtype_db = TriggerType.get_by_id(trigger_type.id) self.assertEqual(trigtype_db.pack, 'dummy_pack_1') self.assertEqual(trigtype_db.name, trig_type.get('name')) self.assertTrue(trigger is not None) self.assertEqual(trigger.name, trigtype_db.name) # Add duplicate trigtype_dbs = trigger_service.add_trigger_models(trigger_types=[trig_type]) triggers = Trigger.get_all() self.assertTrue(len(triggers) == 1)
def _create_trigger_types(trigger_types): if not trigger_types: return [] # Add TrigerType models to the DB trigger_type_dbs = trigger_service.add_trigger_models(trigger_types=trigger_types) trigger_type_refs = [] # Populate a list of references belonging to this sensor for trigger_type_db, _ in trigger_type_dbs: ref_obj = trigger_type_db.get_reference() trigger_type_ref = ref_obj.ref trigger_type_refs.append(trigger_type_ref) return trigger_type_refs
def create_trigger_types(trigger_types, metadata_file=None): if not trigger_types: return [] # Add TrigerType models to the DB trigger_type_dbs = trigger_service.add_trigger_models(trigger_types=trigger_types) trigger_type_refs = [] # Populate a list of references belonging to this sensor for trigger_type_db, _ in trigger_type_dbs: ref_obj = trigger_type_db.get_reference() trigger_type_ref = ref_obj.ref trigger_type_refs.append(trigger_type_ref) return trigger_type_refs
def test_add_trigger_type_no_params(self): # Trigger type with no params should create a trigger with same name as trigger type. trig_type = { "name": "myawesometriggertype", "pack": "dummy_pack_1", "description": "Words cannot describe how awesome I am.", "parameters_schema": {}, "payload_schema": {}, } trigtype_dbs = trigger_service.add_trigger_models( trigger_types=[trig_type]) trigger_type, trigger = trigtype_dbs[0] trigtype_db = TriggerType.get_by_id(trigger_type.id) self.assertEqual(trigtype_db.pack, "dummy_pack_1") self.assertEqual(trigtype_db.name, trig_type.get("name")) self.assertIsNotNone(trigger) self.assertEqual(trigger.name, trigtype_db.name) # Add duplicate trigtype_dbs = trigger_service.add_trigger_models( trigger_types=[trig_type]) triggers = Trigger.get_all() self.assertTrue(len(triggers) == 1)
def _register_timer_trigger_types(self): return trigger_services.add_trigger_models( list(TIMER_TRIGGER_TYPES.values()))
def _register_timer_trigger_types(self): return trigger_services.add_trigger_models(TIMER_TRIGGER_TYPES.values())