from __future__ import annotations import json import unittest from pathlib import Path from tempfile import TemporaryDirectory from types import SimpleNamespace from scripts.notify_feishu_inspection_report import build_message class NotifyFeishuInspectionReportTests(unittest.TestCase): def test_message_surfaces_non_blocking_pressure_diagnostics(self) -> None: with TemporaryDirectory() as directory: report = Path(directory) / "report.json" report.write_text( json.dumps( { "summary": { "functionTotal": 1, "roleTotal": 1, "moduleTotal": 1, "passed": 0, "failed": 0, "diagnostic": 1, "skipped": 0, } } ), encoding="utf-8", ) message = build_message( SimpleNamespace( output_json=str(report), target_env="test1", workflow_name="HubSpot Integration Test", target_url="https://example.invalid", run_url="https://example.invalid/run", ) ) self.assertIn("1 diagnostic", message) self.assertIn("passed with diagnostics", message) if __name__ == "__main__": unittest.main()