Add SSM deployment and reliable Maven setup

This commit is contained in:
王鹏
2026-10-08 17:58:09 +08:00
parent 2d7b6216ba
commit d1695eba74
13 changed files with 626 additions and 46 deletions

View File

@@ -99,6 +99,37 @@ class ScannerTests(unittest.TestCase):
self.assertEqual(result.frontend.path, frontend)
self.assertEqual(result.sql_files, [sql_dir / "schema.sql"])
def test_detects_maven_ssm_war_project_and_context_path(self):
with tempfile.TemporaryDirectory() as tmp:
root = Path(tmp)
backend = root / "ssm-server"
(backend / "src" / "main" / "java").mkdir(parents=True)
web_inf = backend / "src" / "main" / "webapp" / "WEB-INF"
web_inf.mkdir(parents=True)
(web_inf / "web.xml").write_text("<web-app />", encoding="utf-8")
(backend / "pom.xml").write_text(
"""
<project>
<artifactId>movie-system</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency><artifactId>spring-webmvc</artifactId></dependency>
<dependency><artifactId>mybatis</artifactId></dependency>
</dependencies>
<build><finalName>movies</finalName></build>
</project>
""",
encoding="utf-8",
)
result = scan_project(root)
self.assertIsNotNone(result.backend)
self.assertEqual(result.backend.kind, "SSM")
self.assertEqual(result.backend.metadata["backend_type"], "ssm")
self.assertEqual(result.backend.metadata["packaging"], "war")
self.assertEqual(result.backend.metadata["context_path"], "/movies")
def test_empty_folder_reports_missing_parts(self):
with tempfile.TemporaryDirectory() as tmp:
result = scan_project(Path(tmp))