Skip to content

Commit

Permalink
Update unit tests
Browse files Browse the repository at this point in the history
Update docstring to more completely describe behavior
  • Loading branch information
NeonDaniel committed Oct 21, 2024
1 parent 8a8b580 commit abd39cb
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
7 changes: 6 additions & 1 deletion ovos_plugin_manager/utils/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ def get_plugin_config(config: Optional[dict] = None, section: str = None,
- module-specific configurations take priority
- section-specific configuration is appended (new keys only)
- global `lang` configuration is appended (if not already set)
If no module is specified, then the requested section configuration is
assumed to be a top-level key in the base configuration, defaulting to the
base configuration if that section is not found. If both `module` and
`section` are unspecified, then the base configuration is returned.
@param config: Base configuration to parse, defaults to `Configuration()`
@param section: Config section for the plugin (i.e. TTS, STT, language)
@param module: Module/plugin to get config for, default reads from config
Expand Down Expand Up @@ -41,7 +46,7 @@ def get_plugin_config(config: Optional[dict] = None, section: str = None,
# Use section-scoped config as defaults (i.e. TTS.lang)
module_config.setdefault(key, val)
config = module_config
if section not in ["hotwords", "VAD", "listener", "gui"]:
if section not in ["hotwords", "VAD", "listener", "gui", None]:
# With some exceptions, plugins will want a `lang` value. If it was not
# set in the section or module config, use the default top-level config.
config.setdefault('lang', lang)
Expand Down
7 changes: 4 additions & 3 deletions test/unittests/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -649,11 +649,12 @@ def test_get_plugin_config(self, config):
self.assertEqual(tts_config['voice'], 'german-mbrola-5')
self.assertNotIn("ovos_tts_plugin_espeakng", tts_config)

# Test PHAL with no configuration only `lang` is populated
# Test PHAL with no configuration
phal_config = get_plugin_config(config, "PHAL")
self.assertEqual(set(phal_config.keys()), {"lang"})
self.assertEqual(set(phal_config.keys()), config.keys())
phal_config = get_plugin_config(config, "PHAL", "test_plugin")
self.assertEqual(set(phal_config.keys()), {"lang"})
self.assertEqual(phal_config, {"module": "test_plugin",
"lang": config["lang"]})

self.assertEqual(_MOCK_CONFIG, start_config)

Expand Down

0 comments on commit abd39cb

Please sign in to comment.