"""Envelope tests for ``muse agent`` subcommands.""" from __future__ import annotations import json import pytest from tests.cli_test_helper import CliRunner runner = CliRunner() _HUB = "http://test.example.com" class TestAgentEnvelope: def test_list_has_muse_version(self) -> None: r = runner.invoke(None, ["agent", "list", "--hub", _HUB, "-j"]) assert r.exit_code == 0, r.output assert "muse_version" in json.loads(r.output) def test_list_has_schema(self) -> None: r = runner.invoke(None, ["agent", "list", "--hub", _HUB, "-j"]) assert "schema" in json.loads(r.output) def test_list_has_timestamp(self) -> None: r = runner.invoke(None, ["agent", "list", "--hub", _HUB, "-j"]) assert "timestamp" in json.loads(r.output) def test_list_has_warnings(self) -> None: r = runner.invoke(None, ["agent", "list", "--hub", _HUB, "-j"]) assert "warnings" in json.loads(r.output) def test_list_no_schema_version(self) -> None: r = runner.invoke(None, ["agent", "list", "--hub", _HUB, "-j"]) assert "schema_version" not in json.loads(r.output)