"""Envelope tests for ``muse code age --json``.""" from __future__ import annotations import json import pytest from tests.cli_test_helper import CliRunner runner = CliRunner() def _age_json(*extra): return runner.invoke(None, ["code", "age", "--json", *extra]) class TestAgeEnvelope: def test_has_muse_version(self): r = _age_json() assert r.exit_code == 0, r.output assert "muse_version" in json.loads(r.output) def test_has_schema(self): r = _age_json() assert "schema" in json.loads(r.output) def test_has_timestamp(self): r = _age_json() assert "timestamp" in json.loads(r.output) def test_has_warnings(self): r = _age_json() assert "warnings" in json.loads(r.output) def test_no_schema_version(self): r = _age_json() assert "schema_version" not in json.loads(r.output) def test_j_alias_works(self): r = runner.invoke(None, ["code", "age", "-j"]) assert r.exit_code == 0 d = json.loads(r.output) assert "muse_version" in d