fix: cover remaining config placeholder help text

Update the unknown-subcommand config help output to use placeholder syntax too,
and extend the placeholder regression tests to cover show_config() and that
fallback help path.
This commit is contained in:
teknium1 2026-03-14 10:35:14 -07:00
parent 9ec3a7a21b
commit 0d23ad7a15
2 changed files with 21 additions and 2 deletions

View file

@ -1506,7 +1506,7 @@ def config_command(args):
print("Available commands:") print("Available commands:")
print(" hermes config Show current configuration") print(" hermes config Show current configuration")
print(" hermes config edit Open config in editor") print(" hermes config edit Open config in editor")
print(" hermes config set K V Set a config value") print(" hermes config set <key> <value> Set a config value")
print(" hermes config check Check for missing/outdated config") print(" hermes config check Check for missing/outdated config")
print(" hermes config migrate Update config with new options") print(" hermes config migrate Update config with new options")
print(" hermes config path Show config file path") print(" hermes config path Show config file path")

View file

@ -6,7 +6,7 @@ from unittest.mock import patch
import pytest import pytest
from hermes_cli.config import config_command from hermes_cli.config import config_command, show_config
from hermes_cli.setup import _print_setup_summary from hermes_cli.setup import _print_setup_summary
@ -21,6 +21,25 @@ def test_config_set_usage_marks_placeholders(capsys):
assert "Usage: hermes config set <key> <value>" in out assert "Usage: hermes config set <key> <value>" in out
def test_config_unknown_command_help_marks_placeholders(capsys):
args = Namespace(config_command="wat")
with pytest.raises(SystemExit) as exc:
config_command(args)
assert exc.value.code == 1
out = capsys.readouterr().out
assert "hermes config set <key> <value> Set a config value" in out
def test_show_config_marks_placeholders(tmp_path, capsys):
with patch.dict(os.environ, {"HERMES_HOME": str(tmp_path)}):
show_config()
out = capsys.readouterr().out
assert "hermes config set <key> <value>" in out
def test_setup_summary_marks_placeholders(tmp_path, capsys): def test_setup_summary_marks_placeholders(tmp_path, capsys):
with patch.dict(os.environ, {"HERMES_HOME": str(tmp_path)}): with patch.dict(os.environ, {"HERMES_HOME": str(tmp_path)}):
_print_setup_summary({"tts": {"provider": "edge"}}, tmp_path) _print_setup_summary({"tts": {"provider": "edge"}}, tmp_path)