53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
import time
|
|
from framework.business.cloud_desktop import CloudDesktopService
|
|
from framework.models.result import StepResult
|
|
from framework.config.settings import Config
|
|
from framework.core.logger import get_logger
|
|
|
|
logger = get_logger("LifecycleScript")
|
|
|
|
def run_postpaid_lifecycle(name):
|
|
"""
|
|
业务逻辑:按量转包月完整生命周期示例
|
|
"""
|
|
service = CloudDesktopService()
|
|
results = []
|
|
|
|
# 1. 创建
|
|
logger.info(f"Step 1: 创建云桌面 {name}")
|
|
t0 = time.time()
|
|
try:
|
|
desktop_id = service.create_desktop(name, charge_type="PostPaid")
|
|
results.append(StepResult("创建云桌面", True, f"成功 ID: {desktop_id}", time.time()-t0))
|
|
except Exception as e:
|
|
results.append(StepResult("创建云桌面", False, str(e), time.time()-t0))
|
|
return results, None
|
|
|
|
# 等待部署
|
|
time.sleep(Config.WAIT['create'])
|
|
|
|
# 2. 关机
|
|
logger.info("Step 2: 关机")
|
|
t0 = time.time()
|
|
try:
|
|
service.stop_desktop(desktop_id)
|
|
results.append(StepResult("关机", True, "成功", time.time()-t0))
|
|
except Exception as e:
|
|
results.append(StepResult("关机", False, str(e), time.time()-t0))
|
|
|
|
# 3. 删除 (示例简化,不写全部逻辑)
|
|
logger.info("Step 3: 删除")
|
|
t0 = time.time()
|
|
try:
|
|
service.delete_desktop(desktop_id)
|
|
results.append(StepResult("删除", True, "成功", time.time()-t0))
|
|
except Exception as e:
|
|
results.append(StepResult("删除", False, str(e), time.time()-t0))
|
|
|
|
return results, desktop_id
|
|
|
|
if __name__ == "__main__":
|
|
res, d_id = run_postpaid_lifecycle("RobotFramework-Test")
|
|
for r in res:
|
|
print(r)
|