user, email = random_user(), random_email() desktops_simple = await respool.new_desktop(amount=3, os_type='Windows', protocol_type='ASP', image_id='desktopimage-windows-server-2019-64-ch') assert len(desktops_simple) == 3 await User.create(end_user_ids=[user], email=[email], password=['desktop@1234'])
时间: 2024-03-29 07:35:00 浏览: 51
这段代码看起来像是在创建三个 Windows 操作系统的 ASP 协议类型的桌面,然后创建一个用户,将该用户的 end_user_ids、email 和 password 设置为随机生成的值。其中,end_user_ids 和 email 是列表,password 是字符串。这个用户似乎可以用来登录这三个桌面。
相关问题
desktops = await respool.new_desktop(desktop_status=DesktopStatus.RUNNING) desktop = desktops[0] async with desktop: await sleep(60) snapshot_system = await Snapshot.create(desktop_id=desktop.desktop_id, source_disk_type=SnapshotSourceDiskType.System, wait=True) snapshot_data = await Snapshot.create(desktop_id=desktop.desktop_id, wait=True) assert snapshot_system.snapshot_id assert snapshot_data.snapshot_id # 通过snapshot_id删除快照 await Snapshot.delete(snapshot_ids=[snapshot_system.snapshot_id, snapshot_data.snapshot_id]) snapshots = await Snapshot.describe(desktop_id=desktop.desktop_id) # 防止创建时间太长有自动快照的生成 result = [sna for sna in snapshots if sna.snapshot_type == SnapshotType.User] assert len(result) == 0
这段代码的作用是创建一个新的虚拟桌面,等待 60 秒后创建两个快照(一个系统快照和一个数据快照),然后检查这两个快照是否创建成功。接着,使用快照 ID 删除这两个快照,并检查是否删除成功。最后,检查是否还有自动快照存在。如果没有自动快照存在,则表示代码执行成功。
需要注意的是,这段代码中的 `await respool.new_desktop(desktop_status=DesktopStatus.RUNNING)` 用于创建一个运行中的虚拟桌面,并将其赋值给 `desktops` 变量。然后,使用 `desktops[0]` 获取第一个虚拟桌面,并将其赋值给 `desktop` 变量。接着,使用 `async with desktop:` 异步上下文管理器来确保在代码块执行期间保持对虚拟桌面的独占访问权限。
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'
这段代码看起来是一个Python的异步函数,用于验证桌面连接。它接受一些参数,包括office_site_id、end_user_id、password等,然后调用AdUserApi的一些方法来获取登录令牌,描述桌面等。如果桌面类型是Desktopgroup,则会获取desktop_group_id对应的桌面并获取票证。最后,如果结果是“True”,则断言为True,否则等待一段时间再重新获取票证。
阅读全文