diff options
Diffstat (limited to 'src/integration/tests.rs')
| -rw-r--r-- | src/integration/tests.rs | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/integration/tests.rs b/src/integration/tests.rs index 41a4e027..eb310637 100644 --- a/src/integration/tests.rs +++ b/src/integration/tests.rs @@ -2704,6 +2704,59 @@ fn install_hermes_converts_flow_plugin_list_to_block_list() { } #[test] +fn install_hermes_converts_inline_enabled_list_to_block_list() { + let config = update_hermes_enabled_plugin("plugins:\n enabled: [example-plugin]\n", true); + assert_eq!( + config, + "plugins:\n enabled:\n - herdr-agent-state\n - example-plugin\n" + ); +} + +#[test] +fn install_hermes_preserves_quoted_inline_enabled_items() { + let config = + update_hermes_enabled_plugin("plugins:\n enabled: [\"null\", 'foo: bar']\n", true); + assert_eq!( + config, + "plugins:\n enabled:\n - herdr-agent-state\n - \"null\"\n - 'foo: bar'\n" + ); +} + +#[test] +fn install_hermes_preserves_inline_enabled_comment() { + let config = update_hermes_enabled_plugin( + "plugins:\n enabled: [example-plugin] # managed locally\n", + true, + ); + assert_eq!( + config, + "plugins:\n enabled: # managed locally\n - herdr-agent-state\n - example-plugin\n" + ); +} + +#[test] +fn install_hermes_preserves_inline_plugins_comment() { + let config = + update_hermes_enabled_plugin("plugins: [platforms/discord] # managed locally\n", true); + assert_eq!( + config, + "plugins: # managed locally\n - herdr-agent-state\n - platforms/discord\n" + ); +} + +#[test] +fn install_hermes_is_idempotent_for_inline_enabled_list_entry() { + let config = update_hermes_enabled_plugin( + "plugins:\n enabled: [herdr-agent-state, example-plugin]\n", + true, + ); + assert_eq!( + config, + "plugins:\n enabled: [herdr-agent-state, example-plugin]\n" + ); +} + +#[test] fn install_hermes_is_idempotent_for_quoted_flat_plugin_entry() { let _lock = integration_env_lock(); let base = unique_base(); @@ -2825,6 +2878,30 @@ fn uninstall_hermes_removes_flow_plugin_list_entry() { } #[test] +fn uninstall_hermes_removes_inline_enabled_list_entry() { + let config = update_hermes_enabled_plugin( + "plugins:\n enabled: [example-plugin, herdr-agent-state]\n", + false, + ); + assert_eq!(config, "plugins:\n enabled:\n - example-plugin\n"); +} + +#[test] +fn uninstall_hermes_preserves_quoted_inline_enabled_items() { + let config = update_hermes_enabled_plugin( + "plugins:\n enabled: ['foo: bar', herdr-agent-state]\n", + false, + ); + assert_eq!(config, "plugins:\n enabled:\n - 'foo: bar'\n"); +} + +#[test] +fn uninstall_hermes_converts_single_inline_enabled_entry_to_empty_list() { + let config = update_hermes_enabled_plugin("plugins:\n enabled: [herdr-agent-state]\n", false); + assert_eq!(config, "plugins:\n enabled: []\n"); +} + +#[test] fn uninstall_hermes_removes_commented_flat_plugin_entry() { let _lock = integration_env_lock(); let base = unique_base(); |
