58 lines
2.2 KiB
Python
58 lines
2.2 KiB
Python
import time
|
|
from framework.business.cloud_desktop import CloudDesktopService
|
|
from framework.config.settings import Config
|
|
from framework.core.logger import get_logger
|
|
from framework.models.result import StepResult
|
|
|
|
logger = get_logger("BoilerplateService")
|
|
|
|
class BoilerplateService:
|
|
def __init__(self):
|
|
self.service = CloudDesktopService()
|
|
|
|
def run_lifecycle_test(self, name, progress_callback=None):
|
|
"""样本工程快捷启动生命周期验证"""
|
|
results = []
|
|
desktop_id = None
|
|
|
|
def _log(msg):
|
|
logger.info(msg)
|
|
if progress_callback: progress_callback(msg)
|
|
|
|
try:
|
|
_log(f"Step 1: 快速启动样本工程 {name}")
|
|
t0 = time.time()
|
|
desktop_id = self.service.create_boilerplate_desktop(name)
|
|
results.append(StepResult("创建云桌面", True, "成功", time.time()-t0))
|
|
time.sleep(Config.WAIT['create'])
|
|
|
|
# 复用基础流程
|
|
_log("Step 2: 关机")
|
|
t0 = time.time()
|
|
self.service.stop_desktop(desktop_id)
|
|
results.append(StepResult("关机云桌面", True, "成功", time.time()-t0))
|
|
time.sleep(Config.WAIT['stop'])
|
|
|
|
_log("Step 3: 开机")
|
|
t0 = time.time()
|
|
self.service.start_desktop(desktop_id)
|
|
results.append(StepResult("开机云桌面", True, "成功", time.time()-t0))
|
|
time.sleep(Config.WAIT['start'])
|
|
|
|
_log("Step 4: 按量转包月")
|
|
t0 = time.time()
|
|
self.service.switch_to_prepaid(desktop_id)
|
|
results.append(StepResult("按量转包月", True, "成功", time.time()-t0))
|
|
time.sleep(Config.WAIT['switch'])
|
|
|
|
_log("Step 5: 删除")
|
|
t0 = time.time()
|
|
self.service.delete_desktop(desktop_id)
|
|
results.append(StepResult("删除云桌面", True, "成功", time.time()-t0))
|
|
|
|
except Exception as e:
|
|
logger.error(f"Flow failed: {e}")
|
|
results.append(StepResult("执行中止", False, str(e)))
|
|
|
|
return results, desktop_id or "N/A"
|