# -*- coding: utf-8 -*- """HTML 报告页薄写入 helper。""" from __future__ import annotations import os import unittest from _support import IsolatedDataRoot from service.html_page_service import ( HOST_HTML_RENDER_ACTION_ID, load_html_template, render_html_placeholders, write_html_page, ) class TestHtmlPageService(unittest.TestCase): def test_host_action_id_is_stable(self) -> None: self.assertEqual(HOST_HTML_RENDER_ACTION_ID, "render-html") def test_write_html_page_atomic_under_html_dir(self) -> None: with IsolatedDataRoot() as tmp: path = write_html_page( "example-report.html", "
hello
", }, ) self.assertIn("hello
", page) self.assertNotIn("{{TITLE}}", page) dest = write_html_page("example-report.html", page) self.assertTrue(os.path.isfile(dest)) def test_rejects_unsafe_filename(self) -> None: with IsolatedDataRoot(): with self.assertRaises(ValueError): write_html_page("../x.html", "") with self.assertRaises(ValueError): write_html_page("note.txt", "") if __name__ == "__main__": unittest.main()