gabriel / muse public
test_conflicts_envelope.py python
26 lines 757 B
Raw
sha256:99451767674c70e97323b61d5ef248ebe91530a91c2ab5902c2bb3e4acf250dd Run in a fresh repo so no stale MERGE_STATE.json can bleed in Human patch 8 days ago
1 """Envelope tests for conflicts command."""
2 from __future__ import annotations
3 from collections.abc import Mapping
4 import json
5 import pytest
6 from tests.cli_test_helper import CliRunner
7
8 runner = CliRunner()
9
10 _FIELDS = ("muse_version", "schema", "timestamp", "warnings")
11
12
13 def _check(d: Mapping[str, object]) -> None:
14 for f in _FIELDS:
15 assert f in d, f"missing {f}"
16 assert "schema_version" not in d
17
18
19 class TestConflictsEnvelope:
20 def test_conflicts_no_merge_has_envelope(self) -> None:
21 # No merge in progress — returns 0 conflicts
22 r = runner.invoke(None, ["conflicts", "--json"])
23 assert r.exit_code == 0, r.output
24 d = json.loads(r.output)
25 _check(d)
26 assert d["merge_in_progress"] is False
File History 1 commit
sha256:99451767674c70e97323b61d5ef248ebe91530a91c2ab5902c2bb3e4acf250dd Run in a fresh repo so no stale MERGE_STATE.json can bleed in Human patch 8 days ago