def test_get_player(self): """ Test the PlayerLauncher trying to run the Player """ player1 = Player("Player", {}) player2 = Player("Player2", {'test': "hitheparamtest"}) settings = Settings() settings.players = [player1, player2] with mock.patch("kalliope.core.Utils.get_dynamic_class_instantiation" ) as mock_get_class_instantiation: # Get the player1 settings.default_player_name = "Player" PlayerLauncher.get_player(settings=settings) mock_get_class_instantiation.assert_called_once_with( package_name="players", module_name=player1.name, parameters=player1.parameters) mock_get_class_instantiation.reset_mock() # Get the player 2 settings.default_player_name = "Player2" PlayerLauncher.get_player(settings=settings) mock_get_class_instantiation.assert_called_once_with( package_name="players", module_name=player2.name, parameters=player2.parameters) mock_get_class_instantiation.reset_mock()
def _get_settings(self): """ Class Methods which loads default or the provided YAML file and return a Settings Object :return: The loaded Settings :rtype: Settings :Example: settings = SettingLoader.get_settings(file_path="/var/tmp/settings.yml") .. seealso:: Settings .. warnings:: Class Method """ # create a new setting setting_object = Settings() # Get the setting parameters settings = self._get_yaml_config() default_stt_name = self._get_default_speech_to_text(settings) default_tts_name = self._get_default_text_to_speech(settings) default_trigger_name = self._get_default_trigger(settings) default_player_name = self._get_default_player(settings) stts = self._get_stts(settings) ttss = self._get_ttss(settings) triggers = self._get_triggers(settings) players = self._get_players(settings) rest_api = self._get_rest_api(settings) cache_path = self._get_cache_path(settings) resources = self._get_resources(settings) variables = self._get_variables(settings) recognition_options = self._get_recognition_options(settings) start_options = self._get_start_options(settings) hooks = self._get_hooks(settings) # Load the setting singleton with the parameters setting_object.default_tts_name = default_tts_name setting_object.default_stt_name = default_stt_name setting_object.default_trigger_name = default_trigger_name setting_object.default_player_name = default_player_name setting_object.stts = stts setting_object.ttss = ttss setting_object.triggers = triggers setting_object.players = players setting_object.rest_api = rest_api setting_object.cache_path = cache_path setting_object.resources = resources setting_object.variables = variables setting_object.recognition_options = recognition_options setting_object.start_options = start_options setting_object.hooks = hooks return setting_object
def test_get_settings(self): settings_object = Settings() settings_object.default_tts_name = "pico2wave" settings_object.default_stt_name = "google" settings_object.default_trigger_name = "snowboy" settings_object.default_player_name = "mplayer" tts1 = Tts(name="pico2wave", parameters={'cache': True, 'language': 'fr-FR'}) tts2 = Tts(name="voxygen", parameters={'voice': 'Agnes', 'cache': True}) settings_object.ttss = [tts1, tts2] stt = Stt(name="google", parameters={'language': 'fr-FR'}) settings_object.stts = [stt] settings_object.random_wake_up_answers = ['Oui monsieur?'] settings_object.random_wake_up_sounds = ['sounds/ding.wav', 'sounds/dong.wav'] settings_object.play_on_ready_notification = "never" settings_object.on_ready_answers = ['Kalliope is ready'] settings_object.on_ready_sounds = ['sounds/ding.wav', 'sounds/dong.wav'] trigger1 = Trigger(name="snowboy", parameters={'pmdl_file': 'trigger/snowboy/resources/kalliope-FR-6samples.pmdl'}) settings_object.triggers = [trigger1] player1 = Player(name="mplayer", parameters={}) player2 = Player(name="pyalsaaudio", parameters={"device": "default"}) settings_object.players = [player1, player2] settings_object.rest_api = RestAPI(password_protected=True, active=True, login="******", password="******", port=5000, allowed_cors_origin=False) settings_object.cache_path = '/tmp/kalliope_tts_cache' settings_object.default_synapse = 'Default-synapse' resources = Resources(neuron_folder="/tmp/kalliope/tests/kalliope_resources_dir/neurons", stt_folder="/tmp/kalliope/tests/kalliope_resources_dir/stt", tts_folder="/tmp/kalliope/tests/kalliope_resources_dir/tts", trigger_folder="/tmp/kalliope/tests/kalliope_resources_dir/trigger") settings_object.resources = resources settings_object.variables = { "author": "Lamonf", "test_number": 60, "test": "kalliope" } settings_object.machine = platform.machine() settings_object.recognition_options = RecognitionOptions() sl = SettingLoader(file_path=self.settings_file_to_test) self.assertEqual(settings_object, sl.settings)
def test_get_settings(self): settings_object = Settings() settings_object.default_tts_name = "pico2wave" settings_object.default_stt_name = "google" settings_object.default_trigger_name = "snowboy" settings_object.default_player_name = "mplayer" tts1 = Tts(name="pico2wave", parameters={ 'cache': True, 'language': 'fr-FR' }) tts2 = Tts(name="voxygen", parameters={ 'voice': 'Agnes', 'cache': True }) settings_object.ttss = [tts1, tts2] stt = Stt(name="google", parameters={'language': 'fr-FR'}) settings_object.stts = [stt] trigger1 = Trigger( name="snowboy", parameters={ 'pmdl_file': 'trigger/snowboy/resources/kalliope-FR-6samples.pmdl' }) settings_object.triggers = [trigger1] player1 = Player(name="mplayer", parameters={}) player2 = Player(name="pyalsaaudio", parameters={"device": "default"}) settings_object.players = [player1, player2] settings_object.rest_api = RestAPI(password_protected=True, active=True, login="******", password="******", port=5000, allowed_cors_origin=False) settings_object.cache_path = '/tmp/kalliope_tts_cache' resources = Resources( neuron_folder="/tmp/kalliope/tests/kalliope_resources_dir/neurons", stt_folder="/tmp/kalliope/tests/kalliope_resources_dir/stt", tts_folder="/tmp/kalliope/tests/kalliope_resources_dir/tts", trigger_folder="/tmp/kalliope/tests/kalliope_resources_dir/trigger" ) settings_object.resources = resources settings_object.variables = { "author": "Lamonf", "test_number": 60, "test": "kalliope" } settings_object.start_options = {"muted": True} settings_object.machine = platform.machine() settings_object.recognition_options = RecognitionOptions() settings_object.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_unmute': [], 'on_triggered': ['on-triggered-synapse'], 'on_mute': [], 'on_order_not_found': ['order-not-found-synapse'], 'on_start_speaking': None, 'on_stop_speaking': None, } sl = SettingLoader(file_path=self.settings_file_to_test) self.assertEqual(settings_object, sl.settings)
def _get_settings(self): """ Class Methods which loads default or the provided YAML file and return a Settings Object :return: The loaded Settings :rtype: Settings :Example: settings = SettingLoader.get_settings(file_path="/var/tmp/settings.yml") .. seealso:: Settings .. warnings:: Class Method """ # create a new setting setting_object = Settings() # Get the setting parameters settings = self._get_yaml_config() default_stt_name = self._get_default_speech_to_text(settings) default_tts_name = self._get_default_text_to_speech(settings) default_trigger_name = self._get_default_trigger(settings) default_player_name = self._get_default_player(settings) stts = self._get_stts(settings) ttss = self._get_ttss(settings) triggers = self._get_triggers(settings) players = self._get_players(settings) random_wake_up_answers = self._get_random_wake_up_answers(settings) random_wake_up_sound = self._get_random_wake_up_sounds(settings) play_on_ready_notification = self._get_play_on_ready_notification( settings) on_ready_answers = self._get_on_ready_answers(settings) on_ready_sounds = self._get_on_ready_sounds(settings) rest_api = self._get_rest_api(settings) cache_path = self._get_cache_path(settings) default_synapse = self._get_default_synapse(settings) resources = self._get_resources(settings) variables = self._get_variables(settings) rpi_settings = self._get_rpi_settings(settings) # Load the setting singleton with the parameters setting_object.default_tts_name = default_tts_name setting_object.default_stt_name = default_stt_name setting_object.default_trigger_name = default_trigger_name setting_object.default_player_name = default_player_name setting_object.stts = stts setting_object.ttss = ttss setting_object.triggers = triggers setting_object.players = players setting_object.random_wake_up_answers = random_wake_up_answers setting_object.random_wake_up_sounds = random_wake_up_sound setting_object.play_on_ready_notification = play_on_ready_notification setting_object.on_ready_answers = on_ready_answers setting_object.on_ready_sounds = on_ready_sounds setting_object.rest_api = rest_api setting_object.cache_path = cache_path setting_object.default_synapse = default_synapse setting_object.resources = resources setting_object.variables = variables setting_object.rpi_settings = rpi_settings return setting_object