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"