feat: initial commit
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from app.explorer import render_explorer
|
||||
|
||||
|
||||
class SunburstContractTest(unittest.TestCase):
|
||||
def test_label_engine_contract_in_html(self) -> None:
|
||||
rows = [
|
||||
{
|
||||
"item_id": "1",
|
||||
"name": "A very very very long folder name for overlap testing",
|
||||
"path": "My Drive/Team buildings & Team events/Very Long Folder Name Here",
|
||||
"root_path": "My Drive",
|
||||
"item_kind": "FOLDER",
|
||||
"file_category": "FOLDER",
|
||||
"original_owner_email": "owner@example.com",
|
||||
"shared_by_email": "owner@example.com",
|
||||
"access_scope": "SHARED_USERS",
|
||||
"shared_with_count": 3,
|
||||
"access_targets": "a@example.com|b@example.com|c@example.com",
|
||||
"permission_entries": "",
|
||||
"risk_level": "LOW",
|
||||
"risk_reason": "",
|
||||
},
|
||||
{
|
||||
"item_id": "2",
|
||||
"name": "another-really-long-file-name-to-force-truncation.yaml",
|
||||
"path": "My Drive/Team buildings & Team events/Very Long Folder Name Here/another-really-long-file-name-to-force-truncation.yaml",
|
||||
"root_path": "My Drive",
|
||||
"item_kind": "FILE",
|
||||
"file_category": "YAML",
|
||||
"original_owner_email": "owner@example.com",
|
||||
"shared_by_email": "owner@example.com",
|
||||
"access_scope": "PRIVATE",
|
||||
"shared_with_count": 0,
|
||||
"access_targets": "",
|
||||
"permission_entries": "",
|
||||
"risk_level": "LOW",
|
||||
"risk_reason": "",
|
||||
},
|
||||
]
|
||||
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
out = Path(td) / "explorer.html"
|
||||
render_explorer(rows, out, build_id="TESTBUILD")
|
||||
html = out.read_text(encoding="utf-8")
|
||||
|
||||
self.assertIn("const SUN_LABEL_MIN_ANGLE", html)
|
||||
self.assertIn("const SUN_LABEL_MIN_RING_PX", html)
|
||||
self.assertIn("function applySunLabelRules", html)
|
||||
self.assertIn("labelText", html)
|
||||
self.assertIn("rotate: 0", html)
|
||||
self.assertIn("formatter: (p) => (p?.data?.labelText || '')", html)
|
||||
self.assertIn("hideOverlap: true", html)
|
||||
self.assertIn("Build: ${BUILD_ID || '-'}", html)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user