#coding:utf-8
"""
申请本package 需要的资源,如果申请失败的话,停止后续测试,并发出告警?
申请成功的话,把资源写入环境变量中
申请网关:
package_name + "id/name"
eg:
test_nose_gw = "xxx"
os.environ["test_nose_gw"]="xxx"
用例中引用:
os.environ.get("test_openapi_block_gw") 失败默认返回None
本用例:
test_openapi_gw_gw1 : for test_gw-015-*
用例中引用:
os.environ.get("test_openapi_gw_gw1")
"""
import os
import sys
import time
sys.path.append("../")
import lib.base_case_lib_openapi
from aliyunsdkcore.profile import region_provider
gw_new_id=None
common = lib.base_case_lib_openapi.common_lib("apply")
region_provider.modify_point("sgw",
"cn-hangzhou",
"sgw.cn-hangzhou.aliyuncs.com")
def setUp():
global gw_new_id
print "This is a package setup function"
#申请网关
result = common.do_create_gateway(GatewayClass="Standard",
PostPaid=True,
Description="daily apply for openapi_block",
Type="File",
ReleaseAfterExpiration=True,
StorageBundleId="sb-0007vb109u7z4l4yltmi",
VSwitchId="vsw-bp1o0d7jj3brrp4of1t5f",
Name="test_openapi_gw_gw1",
Location="Cloud",
publicNetworkBandwidth=None,)
if not result["Success"]:
print (" create gw fail !")
assert False, "create gw fail"
gw_new_id = result["GatewayId"]
#部署网关
print("step::deploy gw")
print("gwid is %s " % gw_new_id)
result = common.do_DeployGatewayRequest(GatewayId=gw_new_id, GatewayClass="Standard",VSwitchId="vsw-bp1o0d7jj3brrp4of1t5f")
if not result["Success"]:
print(" deploy gw fail !")
assert False
print("api response:%s " % result["Response"])
deployid = result["TaskId"]
result = common.wait_until_task_completed_new(deployid, gw_new_id, "task.state.completed",
pagesize=10,
pagenumber=1, interval=10, times=60)
if not result:
print(" assure deploying fail !")
assert False
print("assure deploying success")
# #购买缓存盘
#
# print("step::buy cache ")
# result = common.do_OperateGatewayRequest(
# OperateAction="add_cache",
# Params="{\"cacheGBSize\":%s,\"cacheCategory\":\"%s\"}" % (50, "cloud_ssd"),
# GatewayId=gw_new_id, )
# if not result["Success"]:
# print(" add caching fail !")
# assert False
# add_taskid = result["TaskId"]
#
# print("step:: assure add caching ")
# result = common.wait_until_task_completed(add_taskid, gw_new_id, "task.state.completed",
# pagesize=10,
# pagenumber=1, interval=10, times=30)
# if not result:
# print(" assure add caching fail !")
# assert False
# print("assure add caching success")
#升级网关
result = common.do_UpgradeGatewayRequest(GatewayId=gw_new_id)
if not result["Success"]:
print(" update gw fail !")
assert False
print("api response:%s " % result["Response"])
result = common.wait_until_gw_running("sb-0007vb109u7z4l4yltmi", gw_new_id, "Running")
if not result:
print(" waiting gw fail !")
assert False
print("waiting gw success !")
#设置环境变量
os.environ["test_openapi_gw_gw1"]=gw_new_id
def tearDown():
print "This is a package teardown function"
print os.environ.get("test_openapi_gw_gw1")
time.sleep(60)
result = common.do_DeleteGatewayRequest(GatewayId=gw_new_id)
if not result["Success"]:
print(" delete gw fail !")
assert False
print "delete case pass !"
# 在初始化的时候申请资源,如果资源申请失败就不跑本package 的相关用例 资源用局部环境变量传递给当前进程和子进程