async def check_connect(office_site_id: str, end_user_id: str, password: str, desktop_type: str = None, desktop_group_id: str = None, desktop_id: str = None): """ 验证桌面连接 """ from fvtdesktop.ad_user_api import AdUserApi client_id = uuid.uuid4().hex token = await AdUserApi.get_login_token(client_id=client_id, office_site_id=office_site_id, end_user_id=end_user_id, password=password, current_stage=get_current_stage()) if desktop_type == 'Desktopgroup': describe = await AdUserApi.describe_desktops(login_token=token.login_token, protocol_type='BOTH', client_id=client_id, session_id=token.session_id, office_site_id=office_site_id) desktop = list(filter(lambda x: 'desktop_group_id' in x.keys() and x['desktop_group_id'] == desktop_group_id, describe)) result = await get_ticket(desktop_id=desktop[0].desktop_id, client_id=client_id, login_token=token.login_token, session_id=token.session_id) if result == 'Again': await sleep(30) result = await get_ticket(desktop_id=desktop[0].desktop_id, client_id=client_id, login_token=token.login_token, session_id=token.session_id) assert result == 'True' else: result = await get_ticket(desktop_id=desktop_id, client_id=client_id, login_token=token.login_token, session_id=token.session_id) if result == 'Again': await sleep(30) result = await get_ticket(desktop_id=desktop_id, client_id=client_id, login_token=token.login_token, session_id=token.session_id) assert result == 'True'
时间: 2024-02-14 11:24:19 浏览: 170
这是一段 Python 代码,它定义了一个名为 "check_connect" 的异步函数(async function)。该函数的目的是验证桌面连接,它接受以下参数:office_site_id(办公地点 ID)、end_user_id(终端用户 ID)、password(密码)、desktop_type(桌面类型,默认为 None)、desktop_group_id(桌面组 ID,默认为 None)和 desktop_id(桌面 ID,默认为 None)。
函数通过调用 "AdUserApi" 中的 "get_login_token" 方法来获取登录 token。如果 "desktop_type" 等于 "Desktopgroup",则调用 "describe_desktops" 方法,获取桌面的详细信息,并过滤出 "desktop_group_id" 等于 "desktop_group_id" 参数的桌面。然后,调用 "get_ticket" 方法来获取桌面连接的票据。如果返回值为 "Again",则等待 30 秒后再次尝试获取票据。最后,使用 "assert" 语句来断言结果是否为 "True"。
如果 "desktop_type" 不等于 "Desktopgroup",则直接调用 "get_ticket" 方法来获取桌面连接的票据,并执行与上述相同的操作。
相关问题
async def new_desktop(self, region_id: str = None, desktop_name: str = None, bundle_id: str = None, end_user_ids: list = None, office_site_id: str = None, os_type: str = 'Windows', policy_group_id: str = None, desktop_status: str = None, user_commands: List[dict] = None, desktop_timers: List[dict] = None, **kwargs) -> List[Desktop]:
这似乎是一个Python方法的定义,它接受多个参数并返回一个Desktop对象的列表。该方法的名称是new_desktop,它似乎是用于创建新的桌面。参数包括region_id(地区ID)、desktop_name(桌面名称)、bundle_id(捆绑ID)、end_user_ids(终端用户ID列表)、office_site_id(办公地点ID)、os_type(操作系统类型)、policy_group_id(策略组ID)、desktop_status(桌面状态)、user_commands(用户命令列表)和desktop_timers(桌面计时器列表)。除此之外还有一些未知的关键字参数。
async def test_describe_office_site_simple(): office_site = await OfficeSite.describe(office_site_type=OfficeSiteType.SIMPLE) if len(office_site) > 0: validate_obj( office_site, [ { 'status': str, 'v_switch_ids': list, 'office_site_type': str, 'enable_admin_access': bool, 'dns_address': list, 'mfa_enabled': bool, 'name': str, 'office_site_id': str, 'sub_dns_address': list, # 'vpc_id': str, 'creation_time': str, 'desktop_access_type': str, 'a_d_connectors': list, 'enable_internet_access': bool } ] )
这段代码是用 Python 编写的,用于测试 CSDN 开发的 ChitGPT 中的 OfficeSite 类的 describe 方法。该方法可以根据传入的参数获取一个办公场所的详细信息。这段代码首先使用 await 关键字来等待 describe 方法的执行结果,然后对返回的结果进行验证,判断是否符合预期的格式。其中包括 status、v_switch_ids、office_site_type、enable_admin_access、dns_address、mfa_enabled、name、office_site_id、sub_dns_address、creation_time、desktop_access_type、a_d_connectors、enable_internet_access 等属性。
阅读全文