MCPcopy Create free account
hub / github.com/idank/explainshell / test_report_schema

Method test_report_schema

tests/test_manager.py:2664–2680  ·  view source on GitHub ↗

report.json has the expected top-level fields and values.

(self)

Source from the content-addressed store, hash-verified

2662 return ExtractionReport(**defaults)
2663
2664 def test_report_schema(self) -> None:
2665 """report.json has the expected top-level fields and values."""
2666
2667 report = self._make_report()
2668 _write_report(self._run_dir, report)
2669
2670 data = self._read_report()
2671 self.assertEqual(data["version"], 1)
2672 self.assertEqual(data["command"], "extract")
2673 self.assertEqual(data["timestamp"], "2026-03-30T12:00:00+00:00")
2674 self.assertEqual(data["config"]["mode"], "llm")
2675 self.assertEqual(data["config"]["model"], "openai/test-model")
2676 self.assertEqual(data["elapsed_seconds"], 1.0)
2677 self.assertEqual(data["summary"]["succeeded"], 1)
2678 self.assertEqual(data["summary"]["failed"], 0)
2679 self.assertEqual(data["db_before"], {"manpages": 10, "mappings": 50})
2680 self.assertEqual(data["db_after"], {"manpages": 11, "mappings": 55})
2681
2682 def test_none_fields_excluded(self) -> None:
2683 """Fields set to None are omitted from the JSON (exclude_none)."""

Callers

nothing calls this directly

Calls 3

_make_reportMethod · 0.95
_read_reportMethod · 0.95
_write_reportFunction · 0.90

Tested by

no test coverage detected