"""Tests for shared-metrics configuration discovery and setup.""" from __future__ import annotations import argparse from hermes_cli.config import DEFAULT_CONFIG from hermes_cli.setup import setup_telemetry from hermes_cli.subcommands.setup import build_setup_parser def test_shared_metrics_are_registered_disabled_by_default(): assert DEFAULT_CONFIG["telemetry"]["shared_metrics"]["enabled"] is False def test_setup_telemetry_enables_shared_metrics(monkeypatch): config = {} monkeypatch.setattr( "hermes_cli.setup.prompt_yes_no", lambda _question, default: not default, ) setup_telemetry(config) assert config["telemetry"]["shared_metrics"]["enabled"] is True def test_setup_parser_accepts_telemetry_section(): parser = argparse.ArgumentParser() subparsers = parser.add_subparsers(dest="command") handler = object() build_setup_parser(subparsers, cmd_setup=handler) args = parser.parse_args(["setup", "telemetry"]) assert args.section == "telemetry" assert args.func is handler