Files
vpd-permission-poc/tests/test_repository_layout.py

59 lines
1.9 KiB
Python

from pathlib import Path
import unittest
ROOT = Path(__file__).resolve().parents[1]
class RepositoryLayoutTest(unittest.TestCase):
def test_application_boundaries_are_explicit(self) -> None:
for relative in (
"vpd-backoffice/pom.xml",
"vpd-backoffice/src/main",
"ai-web-agent-console/app.py",
"ai-web-agent-console/ai_web_agent_console",
"dds-backoffice/pom.xml",
"database/adb",
"deploy/vpd-backoffice",
"deploy/ai-web-agent-console",
):
self.assertTrue((ROOT / relative).exists(), relative)
def test_ambiguous_legacy_roots_are_absent(self) -> None:
for relative in (
"pom.xml",
"src",
"sql",
"poc4_active_source_20260714",
):
self.assertFalse((ROOT / relative).exists(), relative)
def test_console_has_one_named_python_package(self) -> None:
console = ROOT / "ai-web-agent-console"
self.assertFalse((console / "src").exists())
self.assertFalse((console / "apps").exists())
self.assertTrue((console / "ai_web_agent_console" / "__init__.py").is_file())
source = "\n".join(
path.read_text(encoding="utf-8")
for path in (console / "ai_web_agent_console").glob("*.py")
)
source += (console / "app.py").read_text(encoding="utf-8")
for forbidden in (
"from src.",
"src.poc3",
"src.poc4",
"src.agent_console",
"apps/poc4",
):
self.assertNotIn(forbidden, source)
def test_vpd_backoffice_packages_database_sql(self) -> None:
pom = (ROOT / "vpd-backoffice" / "pom.xml").read_text(encoding="utf-8")
self.assertIn("<directory>../database/adb</directory>", pom)
self.assertNotIn("<directory>sql/adb</directory>", pom)
if __name__ == "__main__":
unittest.main()