Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
"""
|
||||
Tests for --yes / --force flag separation in `hermes skills install`.
|
||||
|
||||
--yes / -y → skip_confirm (bypass interactive prompt, needed in TUI mode)
|
||||
--force → force (install despite blocked scan verdict)
|
||||
|
||||
Based on PR #1595 by 333Alden333 (salvaged).
|
||||
"""
|
||||
|
||||
import sys
|
||||
|
||||
|
||||
def test_cli_skills_install_yes_sets_skip_confirm(monkeypatch):
|
||||
"""--yes should set skip_confirm=True but NOT force."""
|
||||
from hermes_cli.main import main
|
||||
|
||||
captured = {}
|
||||
|
||||
def fake_skills_command(args):
|
||||
captured["identifier"] = args.identifier
|
||||
captured["force"] = args.force
|
||||
captured["yes"] = args.yes
|
||||
|
||||
monkeypatch.setattr("hermes_cli.skills_hub.skills_command", fake_skills_command)
|
||||
monkeypatch.setattr(
|
||||
sys,
|
||||
"argv",
|
||||
["hermes", "skills", "install", "official/email/agentmail", "--yes"],
|
||||
)
|
||||
|
||||
main()
|
||||
|
||||
assert captured["identifier"] == "official/email/agentmail"
|
||||
assert captured["yes"] is True
|
||||
assert captured["force"] is False
|
||||
|
||||
|
||||
def test_cli_skills_install_no_flags(monkeypatch):
|
||||
"""Without flags, both force and yes should be False."""
|
||||
from hermes_cli.main import main
|
||||
|
||||
captured = {}
|
||||
|
||||
def fake_skills_command(args):
|
||||
captured["force"] = args.force
|
||||
captured["yes"] = args.yes
|
||||
|
||||
monkeypatch.setattr("hermes_cli.skills_hub.skills_command", fake_skills_command)
|
||||
monkeypatch.setattr(
|
||||
sys,
|
||||
"argv",
|
||||
["hermes", "skills", "install", "test/skill"],
|
||||
)
|
||||
|
||||
main()
|
||||
|
||||
assert captured["force"] is False
|
||||
assert captured["yes"] is False
|
||||
Reference in New Issue
Block a user