test/framework/business/boilerplate.py
2026-03-17 14:59:41 +08:00

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"