Exemple #1
0
    def test_load_triggers(self):
        config = TriggerConfiguration()
        config._manager = TriggerConfiguration.LOCAL_MANAGER

        mgr = TriggerManager.load_trigger_manager(config)

        trigger_file = os.path.dirname(__file__) + os.sep + "triggers.txt"
        self.assertTrue(os.path.exists(trigger_file))

        config = FileStorageConfiguration()
        config._triggers_storage = FileStoreConfiguration(file=trigger_file, format="text", encoding="utf-8", delete_on_start=False)
        engine = FileStorageEngine(config)
        engine.initialise()

        storage_factory = StorageFactory()

        storage_factory._storage_engines[StorageFactory.TRIGGERS] = engine
        storage_factory._store_to_engine_map[StorageFactory.TRIGGERS] = engine

        mgr.load_triggers(storage_factory)

        triggers = mgr.get_triggers("SYSTEM_STARTUP")
        self.assertIsNotNone(triggers)
        self.assertEquals(2, len(triggers))

        triggers = mgr.get_triggers("SYSTEM_SHUTDOWN")
        self.assertIsNotNone(triggers)
        self.assertEquals(1, len(triggers))

        triggers = mgr.get_triggers("CONVERSATION_START")
        self.assertIsNotNone(triggers)
        self.assertEquals(1, len(triggers))
Exemple #2
0
    def test_to_yaml_with_defaults(self):
        triggers_config = TriggerConfiguration()
        triggers_config._manager = TriggerConfiguration.LOCAL_MANAGER

        data = {}
        triggers_config.to_yaml(data, defaults=True)
        self.assertEquals(
            {'manager': 'programy.triggers.local.LocalTriggerManager'}, data)
Exemple #3
0
    def test_to_yaml_no_defaults(self):
        triggers_config = TriggerConfiguration()
        triggers_config._manager = "programy.triggers.local.LocalTriggerManager2"

        data = {}
        triggers_config.to_yaml(data, defaults=False)
        self.assertEquals(
            {'manager': 'programy.triggers.local.LocalTriggerManager2'}, data)
Exemple #4
0
    def test_load_file_contents_with_exception(self):
        config = FileStorageConfiguration()
        engine = FileStorageEngine(config)
        engine.initialise()
        store = FileTriggersStore(engine)

        trigger_config = TriggerConfiguration()
        trigger_config._manager = TriggerConfiguration.LOCAL_MANAGER
        mgr = TriggerManager.load_trigger_manager(trigger_config)

        self.assertFalse(store._load_file_contents(os.path.dirname(__file__) + os.sep + "data" + os.sep + "triggers" + os.sep + "triggers.txt", mgr))
Exemple #5
0
    def test_process_line(self):
        config = FileStorageConfiguration()
        engine = FileStorageEngine(config)
        engine.initialise()
        store = FileTriggersStore(engine)

        trigger_config = TriggerConfiguration()
        trigger_config._manager = TriggerConfiguration.LOCAL_MANAGER
        mgr = TriggerManager.load_trigger_manager(trigger_config)

        self.assertFalse(store._process_line("", mgr))
        self.assertFalse(store._process_line("TRIGGER1", mgr))
        self.assertFalse(store._process_line("#", mgr))
        self.assertFalse(store._process_line("#TRIGGER1:programy.triggers.null.NullTrigger", mgr))
Exemple #6
0
    def test_load_triggers(self):
        config = FileStorageConfiguration()
        config._triggers_storage = FileStoreConfiguration(file=os.path.dirname(__file__) + os.sep + "data" + os.sep + "triggers" + os.sep + "triggers.txt", fileformat="text", encoding="utf-8", delete_on_start=False)
        engine = FileStorageEngine(config)
        engine.initialise()
        store = FileTriggersStore(engine)

        trigger_config = TriggerConfiguration()
        trigger_config._manager = TriggerConfiguration.LOCAL_MANAGER

        mgr = TriggerManager.load_trigger_manager(trigger_config)
        store.load(mgr)

        self.assertTrue(mgr.has_trigger_event("TRIGGER1"))
        self.assertTrue(mgr.has_trigger_event("TRIGGER2"))
        self.assertTrue(mgr.has_trigger_event("TRIGGER3"))
        self.assertFalse(mgr.has_trigger_event("TRIGGER4"))
Exemple #7
0
    def test_load_trigger_manager_bad_manager(self):
        config = TriggerConfiguration()
        config._manager = "some.class.or.other"

        mgr = TriggerManager.load_trigger_manager(config)
        self.assertIsNone(mgr)
Exemple #8
0
    def test_load_trigger_manager_no_config(self):
        config = TriggerConfiguration()
        config._manager = None

        mgr = TriggerManager.load_trigger_manager(config)
        self.assertIsNone(mgr)