Ejemplo n.º 1
0
    def test_handle_with_oob(self):
        handler = OOBHandler()

        handler.oobs['camera'] = CameraOutOfBandProcessor()

        response = handler.handle(None, "<oob><camera>on</camera></oob>")
        self.assertEqual("CAMERA", response)
Ejemplo n.º 2
0
    def test_load_configuration_only_default(self):

        handler = OOBHandler()
        handler.oobs['default'] = DefaultOutOfBandProcessor()

        self.assertTrue('default' in handler.oobs)
        self.assertIsInstance(handler.default_oob, DefaultOutOfBandProcessor)
Ejemplo n.º 3
0
    def test_oob_in_response(self):
        handler = OOBHandler()

        self.assertTrue(handler.oob_in_response("<oob>"))
        self.assertFalse(handler.oob_in_response("<xxx>"))
        self.assertFalse(handler.oob_in_response("<>"))
        self.assertFalse(handler.oob_in_response(None))
Ejemplo n.º 4
0
    def test_handle_with_oob_invalid_class_with_default(self):
        handler = OOBHandler()

        handler.oobs['test'] = DefaultOutOfBandProcessor()
        handler.oobs['default'] = DefaultOutOfBandProcessor()

        response = handler.handle(None, "<oob><camera>on</camera></oob>")
        self.assertEqual("", response)
Ejemplo n.º 5
0
    def test_process_oob_no_oob(self):
        client = TestClient()
        self._client_context = client.create_client_context("testid")

        handler = OOBHandler()

        handler.oobs['camera'] = CameraOutOfBandProcessor()
        handler.oobs['default'] = DefaultOutOfBandProcessor()

        response = handler.process_oob(self._client_context, "<camera>on</camera>")
        self.assertEquals("", response)
Ejemplo n.º 6
0
    def assert_load(self, store):
        store.empty()

        store.upload_from_file(
            os.path.dirname(__file__) + os.sep + "data" + os.sep + "oobs" +
            os.sep + "callmom.conf")

        handler = OOBHandler()
        store.load(handler)

        self.assertEqual(12, len(handler.oobs))
        self.assertTrue(handler.oobs.get("dial"))
Ejemplo n.º 7
0
    def test_load_file_contents_with_exception(self):
        config = FileStorageConfiguration()
        engine = FileStorageEngine(config)
        engine.initialise()
        store = FileOOBStore(engine)

        handler = OOBHandler()

        self.assertEqual(
            0,
            store._load_file_contents(
                handler,
                os.path.dirname(__file__) + os.sep + "data" + os.sep + "oobs" +
                os.sep + "callmom.conf"))
Ejemplo n.º 8
0
    def test_process_line(self):
        config = FileStorageConfiguration()
        engine = FileStorageEngine(config)
        engine.initialise()
        store = FileOOBStore(engine)

        handler = OOBHandler()

        self.assertFalse(store._process_line(handler, "", "test.conf"))
        self.assertFalse(store._process_line(handler, "OOB", "test.conf"))
        self.assertFalse(store._process_line(handler, "#", "test.conf"))
        self.assertFalse(
            store._process_line(handler,
                                "#oob1=programy.oobs.default.DefaultOOB",
                                "test.conf"))
Ejemplo n.º 9
0
    def __init__(self, bot, configuration: BrainConfiguration):

        assert bot is not None
        assert configuration is not None

        self._questions = 0

        self._bot = bot
        self._configuration = configuration

        self._pattern_factory = None
        self._template_factory = None

        self._binaries = BinariesManager(configuration.binaries)
        self._braintree = BraintreeManager(configuration.braintree)

        self._tokenizer = Tokenizer.load_tokenizer(configuration.tokenizer)

        self._denormal_collection = DenormalCollection()
        self._normal_collection = NormalCollection()
        self._gender_collection = GenderCollection()
        self._person_collection = PersonCollection()
        self._person2_collection = Person2Collection()

        self._rdf_collection = RDFCollection()
        self._sets_collection = SetCollection()
        self._maps_collection = MapCollection()

        self._properties_collection = PropertiesCollection()
        self._default_variables_collection = DefaultVariablesCollection()
        self._regex_templates = RegexTemplatesCollection()
        self._dynamics_collection = DynamicsCollection()

        self._preprocessors = PreProcessorCollection()
        self._postprocessors = PostProcessorCollection()
        self._postquestionprocessors = PostQuestionProcessorCollection()

        self._services = ServiceHandler()

        self._oobhandler = OOBHandler()

        self._security = SecurityManager(configuration.security)

        self._aiml_parser = self.load_aiml_parser()

        self.load(self.configuration)
Ejemplo n.º 10
0
    def test_strip_oob(self):
        handler = OOBHandler()

        response, oob = handler.strip_oob("<oob><camera>on</camera></oob>")
        self.assertEqual("", response)
        self.assertEqual("<oob><camera>on</camera></oob>", oob)

        response, oob = handler.strip_oob("<oob><camera>on</camera></oob>Other Text")
        self.assertEqual("Other Text", response)
        self.assertEqual("<oob><camera>on</camera></oob>", oob)

        response, oob = handler.strip_oob("Some Text <oob><camera>on</camera></oob>Other Text")
        self.assertEqual("Some Text Other Text", response)
        self.assertEqual("<oob><camera>on</camera></oob>", oob)

        response, oob = handler.strip_oob("<camera>on</camera>")
        self.assertEqual("<camera>on</camera>", response)
        self.assertEqual(None, oob)
Ejemplo n.º 11
0
    def test_load_oobs(self):
        config = FileStorageConfiguration()
        config._oobs_storage = FileStoreConfiguration(
            file=os.path.dirname(__file__) + os.sep + "data" + os.sep +
            "oobs" + os.sep + "callmom.conf",
            fileformat="text",
            encoding="utf-8",
            delete_on_start=False)
        engine = FileStorageEngine(config)
        engine.initialise()
        store = FileOOBStore(engine)

        handler = OOBHandler()

        store.load(handler)

        self.assertIsNotNone(handler.oobs['default'])
        self.assertIsNotNone(handler.oobs['alarm'])
        self.assertIsNotNone(handler.oobs['camera'])
Ejemplo n.º 12
0
    def __init__(self, bot, configuration: BrainConfiguration):

        assert (bot is not None)
        assert (configuration is not None)

        self._bot = bot
        self._configuration = configuration

        self._binaries = BinariesManager(configuration.binaries)
        self._braintree = BraintreeManager(configuration.braintree)
        self._tokenizer = Tokenizer.load_tokenizer(configuration)

        if configuration.debugfiles.save_errors_collection is True:
            errors_dict = {}
        else:
            errors_dict = None

        self._denormal_collection = DenormalCollection(errors_dict)
        self._normal_collection = NormalCollection(errors_dict)
        self._gender_collection = GenderCollection(errors_dict)
        self._person_collection = PersonCollection(errors_dict)
        self._person2_collection = Person2Collection(errors_dict)
        self._rdf_collection = RDFCollection(errors_dict)
        self._sets_collection = SetCollection(errors_dict)
        self._maps_collection = MapCollection(errors_dict)

        self._properties_collection = PropertiesCollection(errors_dict)
        self._default_variables_collection = DefaultVariablesCollection(
            errors_dict)
        self._botnames_collection = BotNamesCollection(errors_dict)

        self._preprocessors = PreProcessorCollection(errors_dict)
        self._postprocessors = PostProcessorCollection(errors_dict)

        self._pattern_factory = None
        self._template_factory = None

        self._security = SecurityManager(configuration.security)

        self._oobhandler = OOBHandler(configuration.oob)

        self._regex_templates = RegexTemplatesCollection(errors_dict)

        self._dynamics_collection = DynamicsCollection()

        self._aiml_parser = self.load_aiml_parser()

        self._nlu_collection = NluCollection(bot.client, configuration.nlu,
                                             errors_dict)
        self._nlu = NluRequest.load_nlu(configuration.nlu)
        self._nlu_utterance = None

        self.load(self.configuration)

        if configuration.debugfiles.save_errors_collection is True:
            storage_factory = self.bot.client.storage_factory
            if storage_factory.entity_storage_engine_available(
                    StorageFactory.ERRORS_COLLECTION) is True:
                errors_collection_engine = storage_factory.entity_storage_engine(
                    StorageFactory.ERRORS_COLLECTION)
                errors_collection_store = errors_collection_engine.errors_collection_store(
                )
                errors_collection_store.save_errors_collection(errors_dict)
Ejemplo n.º 13
0
 def test_init_empty_config(self):
     handler = OOBHandler()
     self.assertIsNotNone(handler)
     self.assertIsNone(handler.default_oob)
     self.assertEquals({}, handler.oobs)
Ejemplo n.º 14
0
    def test_handle_with_oob_invalid_class_no_default(self):
        handler = OOBHandler()

        response = handler.handle(None, "<oob><camera>on</camera></oob>")
        self.assertEqual("", response)
Ejemplo n.º 15
0
    def test_load_configuration_no_default(self):
        handler = OOBHandler()
        handler.oobs['test'] = DefaultOutOfBandProcessor()

        self.assertTrue("test" in handler.oobs)
        self.assertEqual(None, handler.default_oob)