invalid_email_error_code = { 'fvt1': 'EmptyEmailAndPhone', 'fvt2': 'InvalidEmail', 'fvt3': 'InvalidEmail' } users = await User.create(end_user_ids=['fvt1', 'fvt2', 'fvt3'], email=[None, 'invalid', '1234@']) errors = [] if len(users['failed']) == 3: for result in users['failed']: try: assert result.error_code == invalid_email_error_code[result.get('end_user_id')] except AssertionError as e: errors.append(e) else: for result in users['success']: error_message = f'用户: {result.get("end_user_id")} , 应当抛出: {invalid_email_error_code[result.get("end_user_id")]}' errors.append(error_message) await User.remove_user(users=result['end_user_id']) if len(errors) > 0: raise Exception(errors)
时间: 2024-04-28 11:19:20 浏览: 8
这段代码看起来像是一个测试用例,测试的是创建用户时对于不合法的电子邮件地址的处理。首先定义了一个错误代码字典 invalid_email_error_code,然后创建了三个用户,其中第一个用户的电子邮件地址为空,第二个用户的电子邮件地址为无效格式,第三个用户的电子邮件地址为非法值。接下来根据创建用户的返回结果,对于失败的用户进行断言,断言其错误代码应当与预期的错误代码相同,如果不同则将错误信息添加到 errors 列表中。最后如果错误信息列表不为空,则抛出异常。
相关问题
user1, email1 = random_user(), random_email() invalid_phone_error_code = { '111': 'InvalidPhoneNumber', '1' * 12: 'InvalidPhoneNumber', '12341234343': 'InvalidPhoneNumber' } x = len(invalid_phone_error_code) users = await User.create(end_user_ids=[user1] * x, email=[random_email()] * x, phone=list(invalid_phone_error_code.keys())) errors = [] if len(users['failed']) == x: for result in users['failed']: try: assert result.error_code == invalid_phone_error_code[result.get('phone')] except AssertionError as e: errors.append(e) else: for result in users['success']: error_message = f'用户: {result.get("end_user_id")} , 应当抛出: {invalid_phone_error_code[result.get("end_user_id")]}' errors.append(error_message) await User.remove_user(users=result['end_user_id']) if len(errors) > 0: raise Exception(errors)
这段代码的作用是创建多个用户,其中包含一些无效的电话号码,并检查是否按预期触发了相应的错误代码。如果有任何错误,则删除已创建的用户。
具体来说,代码首先定义了三个变量:user1和email1是随机生成的用户名和电子邮件地址,invalid_phone_error_code是一个字典,包含三个无效的电话号码和相应的错误代码。接下来,代码计算字典中键值对的数量,并使用这个数量来创建多个用户,每个用户都具有相同的用户名、电子邮件地址和不同的电话号码。电话号码列表使用了invalid_phone_error_code的键。
之后,代码检查是否有任何用户创建失败。如果所有用户都创建失败,那么代码将检查每个失败的结果是否按预期触发了相应的错误代码。如果有任何错误,那么代码将收集这些错误,并且删除已创建的用户。
最后,如果有任何错误,那么代码将抛出一个异常,并且错误消息将包含所有收集到的错误。
async def test_param(self): users = await respool.first_user() await self._test_api( api_=User().api_BatchSetDesktopManager, users__1=ParamSchema( valid_values=[users[0].end_user_id], invalid_values=[None], error_codes=['MissingUsers'] ), is_desktop_manager=ParamSchema( valid_values=[0, 1, None], invalid_values=['invalid@无效'], error_codes=['ServiceUnavailable'] ) )
这段代码看起来是一个异步函数,其中调用了一个名为respool的对象的first_user()方法获取用户信息,然后调用了一个名为_test_api()的方法,传入了三个参数:api_表示要测试的API接口,users__1表示一个名为ParamSchema的参数模式,包含了valid_values、invalid_values和error_codes等信息,is_desktop_manager也是ParamSchema类型的参数模式,包含了相应的有效和无效值以及错误代码。这段代码可能是用于进行API接口测试的。