- 新增 `sample-apps/order-service` Java 样板应用及 Win/Linux 构建、启停、状态脚本 - 新增 `LocalSampleAppService`,在 `software-a` 中支持 `order-service test` 本地桥接部署 - 增加桥接开关配置:`ENABLE_SAMPLE_APP_BRIDGE`、`SAMPLE_APP_ROOT` - 修正后端配置读取方式,环境变量可在运行时生效(`Settings` 改为 `default_factory`) - 更新应用元数据默认验证目标:`127.0.0.1:18080`、本地日志路径 - 新增桥接测试 `test_sample_app_bridge.py`,后端基线更新至 `24 passed` - 更新 `.gitignore`,忽略样板应用 `build/runtime` 产物 - 更新 README 与《当前进度总结》:记录本轮“真实样板应用 + 桥接能力”进展,MVP 进度约 `97%`
33 lines
1.3 KiB
Python
33 lines
1.3 KiB
Python
import os
|
|
from unittest.mock import patch
|
|
|
|
from app.schemas.software_a import CreateDeployTaskRequest, DeployOptions, SoftwareAOperator
|
|
from app.services.software_a_service import SoftwareAService
|
|
|
|
|
|
def test_sample_app_bridge_can_be_enabled() -> None:
|
|
os.environ["ENABLE_SAMPLE_APP_BRIDGE"] = "true"
|
|
try:
|
|
with patch("app.services.software_a_service.LocalSampleAppService.deploy_order_service") as mocked_deploy:
|
|
mocked_deploy.return_value = {
|
|
"running": True,
|
|
"status_text": "RUNNING",
|
|
"return_code": 0,
|
|
}
|
|
payload = CreateDeployTaskRequest(
|
|
operator=SoftwareAOperator(user_id="u1001", user_name="alice"),
|
|
tenant_id="tenant-demo",
|
|
app_code="order-service",
|
|
env="test",
|
|
version="1.2.3",
|
|
target_nodes=["127.0.0.1"],
|
|
deploy_options=DeployOptions(graceful=True),
|
|
)
|
|
result = SoftwareAService("Asia/Shanghai").create_deploy_task(payload)
|
|
|
|
assert result["task_status"] == "RUNNING"
|
|
assert result["sample_app_result"]["running"] is True
|
|
mocked_deploy.assert_called_once()
|
|
finally:
|
|
os.environ["ENABLE_SAMPLE_APP_BRIDGE"] = "false"
|