Пример #1
0
    def setUp(self):
        # kill singleton
        Singleton._instances = dict()

        self.expected_result = "hello, this is a replaced word"
        # this allow us to run the test from an IDE and from the root with python -m unittest tests.TestNeuronModule
        self.file_template = get_test_path("templates/template_test.j2")
        self.say_template = "hello, this is a {{ test }}"
        self.message = {"test": "replaced word"}
        self.neuron_module_test = NeuronModule()

        self.file_settings = get_test_path("settings/settings_test.yml")
        self.settings = SettingLoader(file_path=self.file_settings).settings
Пример #2
0
    def test_is_repo_ok(self):
        # valid repo
        dna_file_path = get_test_path("modules/dna.yml")
        install_file_path = get_test_path("modules/install.yml")
        self.assertTrue(ResourcesManager.is_repo_ok(dna_file_path=dna_file_path, install_file_path=install_file_path))

        # missing dna
        dna_file_path = ""
        install_file_path = get_test_path("modules/install.yml")
        self.assertFalse(ResourcesManager.is_repo_ok(dna_file_path=dna_file_path, install_file_path=install_file_path))

        # missing install
        dna_file_path = get_test_path("modules/dna.yml")
        install_file_path = ""
        self.assertFalse(ResourcesManager.is_repo_ok(dna_file_path=dna_file_path, install_file_path=install_file_path))
Пример #3
0
    def setUp(self):
        # be sure the brain haven't been instantiated before
        Singleton._instances = dict()
        self.brain_to_test = get_test_path("brains/lifo_buffer_test_brain.yml")

        BrainLoader(file_path=self.brain_to_test)
        # create a new lifo buffer
        self.lifo_buffer = LifoManager.get_singleton_lifo()
        self.lifo_buffer.clean()
Пример #4
0
    def test_load_dna(self):
        # test with a valid DNA file
        dna_to_test = DnaLoader(self.dna_test_file)._load_dna()

        self.assertTrue(isinstance(dna_to_test, Dna))

        # test with a non valid DNA file
        dna_invalid_test_file = get_test_path("modules/test_invalid_dna.yml")

        self.assertIsNone(DnaLoader(dna_invalid_test_file)._load_dna())
Пример #5
0
    def test_get_config(self):
        valid_file_path_to_test = get_test_path("brains/brain_test.yml")

        invalid_file_path = "brains/non_existing_brain.yml"
        expected_result = [{
            'signals': [{
                'order': 'test_order'
            }],
            'neurons': [{
                'say': {
                    'message': ['test message']
                }
            }],
            'name': 'test'
        }, {
            'signals': [{
                'order': 'test_order_2'
            }],
            'neurons': [{
                'say': {
                    'message': ['test message']
                }
            }],
            'name': 'test2'
        }, {
            'signals': [{
                'order': 'order_for_int'
            }],
            'neurons': [{
                'sleep': {
                    'seconds': 60
                }
            }],
            'name': 'testint'
        }, {
            'includes': ['included_brain_test.yml']
        }, {
            'signals': [{
                'order': 'test_order_3'
            }],
            'neurons': [{
                'say': {
                    'message': ['test message']
                }
            }],
            'name': 'test3'
        }]

        with self.assertRaises(YAMLFileNotFound):
            YAMLLoader.get_config(invalid_file_path)

        self.assertEqual(YAMLLoader.get_config(valid_file_path_to_test),
                         expected_result)
Пример #6
0
    def setUp(self):
        # be sure the brain haven't been instantiated before
        Singleton._instances = dict()
        self.brain_to_test = get_test_path("brains/brain_test.yml")

        self.expected_result = [{
            'signals': [{
                'order': 'test_order'
            }],
            'neurons': [{
                'say': {
                    'message': ['test message']
                }
            }],
            'name':
            'test'
        }, {
            'signals': [{
                'order': 'test_order_2'
            }],
            'neurons': [{
                'say': {
                    'message': ['test message']
                }
            }],
            'name':
            'test2'
        }, {
            'signals': [{
                'order': 'order_for_int'
            }],
            'neurons': [{
                'sleep': {
                    'seconds': 60
                }
            }],
            'name': 'testint'
        }, {
            'includes': ['included_brain_test.yml']
        }, {
            'signals': [{
                'order': 'test_order_3'
            }],
            'neurons': [{
                'say': {
                    'message': ['test message']
                }
            }],
            'name':
            'test3'
        }]
Пример #7
0
 def setUp(self):
     self.dna_test_file = get_test_path("modules/test_valid_dna.yml")
Пример #8
0
    def setUp(self):
        self.settings_file_to_test = get_test_path(
            "settings/settings_test.yml")

        self.settings_dict = {
            'rest_api': {
                'allowed_cors_origin': False,
                'active': True,
                'login': '******',
                'password_protected': True,
                'password': '******',
                'port': 5000
            },
            'default_trigger':
            'snowboy',
            'triggers': [{
                'snowboy': {
                    'pmdl_file':
                    'trigger/snowboy/resources/kalliope-FR-6samples.pmdl'
                }
            }],
            'default_player':
            'mplayer',
            'players': [{
                'mplayer': {}
            }, {
                'pyalsaaudio': {
                    "device": "default"
                }
            }],
            'speech_to_text': [{
                'google': {
                    'language': 'fr-FR'
                }
            }],
            'cache_path':
            '/tmp/kalliope_tts_cache',
            'resource_directory': {
                'stt': '/tmp/kalliope/tests/kalliope_resources_dir/stt',
                'tts': '/tmp/kalliope/tests/kalliope_resources_dir/tts',
                'neuron': '/tmp/kalliope/tests/kalliope_resources_dir/neurons',
                'trigger': '/tmp/kalliope/tests/kalliope_resources_dir/trigger'
            },
            'default_text_to_speech':
            'pico2wave',
            'default_speech_to_text':
            'google',
            'text_to_speech': [{
                'pico2wave': {
                    'cache': True,
                    'language': 'fr-FR'
                }
            }, {
                'googletts': {
                    'language': 'fr',
                    'cache': True
                }
            }],
            'var_files': ["../Tests/settings/variables.yml"],
            'options': {
                'energy_threshold': 3000,
                'deaf': True,
                'mute': False
            },
            'hooks': {
                'on_waiting_for_trigger': 'test',
                'on_stop_listening': None,
                'on_start_listening': None,
                'on_order_found': None,
                'on_start': ['on-start-synapse', 'bring-led-on'],
                'on_undeaf': [],
                'on_triggered': ['on-triggered-synapse'],
                'on_deaf': [],
                'on_mute': [],
                'on_unmute': [],
                'on_order_not_found': ['order-not-found-synapse'],
                'on_processed_synapses': None,
                'on_start_speaking': None,
                'on_stop_speaking': None
            },
            'send_anonymous_usage_stats':
            0
        }

        # Init the folders, otherwise it raises an exceptions
        os.makedirs("/tmp/kalliope/tests/kalliope_resources_dir/neurons")
        os.makedirs("/tmp/kalliope/tests/kalliope_resources_dir/stt")
        os.makedirs("/tmp/kalliope/tests/kalliope_resources_dir/tts")
        os.makedirs("/tmp/kalliope/tests/kalliope_resources_dir/trigger")
Пример #9
0
 def setUp(self):
     self.correction_file_to_test = get_test_path(
         "files/test-stt-correction.yml")