def create_new_user(reg_name, pwd='12345678', type=1): """ 创建一个新用户 :param reg_name: :param pwd: :param type: :return: """ # 创建session会话对象,用来发起请求 do_request = HandleRequest() # 创建mysql对象 do_mysql = HandleMysql() # 添加公共请求头 do_request.add_headers(do_yaml.read_yaml('api', 'version')) # 注册请求的url register_url = do_yaml.read_yaml('api', 'prefix') + '/member/register' while True: # 随机生成一个未注册的手机号 mobile_phone = do_mysql.create_not_exsited_mobile() # 创建一个请求体参数 data = { 'mobile_phone': mobile_phone, 'pwd': pwd, 'type': type, 'reg_name': reg_name } # 调用注册接口,发起请求 do_request.send(register_url, data=data) # 查询数据库用户ID的sql,同时进行了数据校验 sql = do_yaml.read_yaml('mysql', 'select_user_id_sql') # 查询数据库,获取用户ID result = do_mysql.run(sql, args=[mobile_phone], is_more=False) # 判断是否存在,如果result为None,则用户不存在,if语句为真,用户创建成功,跳出循环 if result: user_id = result['id'] break # 构建用户信息为嵌套字典的字典 user_info = { reg_name: { 'user_id': user_id, 'mobile_phone': mobile_phone, 'pwd': pwd, 'reg_name': reg_name} } # 关闭mysql对象 do_mysql.close() # 关闭session会话对象 do_request.close() return user_info
def create_new_user(reg_name, pwd="aaa123", user_type=1): """ 创建一个用户 :param reg_name: 用户名 :param pwd: 密码 :param user_type: 用户类型 :return: 存储一个用户信息, 嵌套字典的字典(以用户名为key, 以用户信息所在字典为value) """ # 建立连接 do_mysql = HandleMysql() do_request = HandleRequest() # 添加公共请求头 do_request.add_headers(do_yaml.read('api', 'version')) url = do_yaml.read('api', 'prefix') + '/member/register' sql = do_yaml.read('mysql', 'select_userid_sql') while True: mobile_phone = do_mysql.create_not_existed_mobile() data = { "mobile_phone": mobile_phone, "pwd": pwd, "reg_name": reg_name, "type": user_type } # 先注册接口发起请求 do_request.send(url, data=data) # 查询数据库, 获取用户id result = do_mysql.run(sql=sql, args=(mobile_phone, )) if result: user_id = result["id"] break # 构造用户信息字典 user_dict = { reg_name: { "id": user_id, "reg_name": reg_name, "mobile_phone": mobile_phone, "pwd": pwd } } # 关闭连接 do_mysql.close() do_request.close() return user_dict
def user_init(cls): # 获取请求头 headers = {"X-Lemonban-Media-Type": "lemonban.v2"} # 创建请求对象 do_request = HandleRequest() # 添加请求头 do_request.add_headers(headers) # url url = 'http://api.lemonban.com/futureloan/member/register' # 创建初始三个用户,如果已经创建过则不用再创 user = [{ 'mobile_phone': '', 'pwd': '12345678', 'type': 0, 'reg_name': '管理员' }, { 'mobile_phone': '', 'pwd': '12345678', 'type': 1, 'reg_name': '借款人' }, { 'mobile_phone': '', 'pwd': '12345678', 'type': 1, 'reg_name': '投资人' }] do_yaml = HandleYaml(USER_ACCOUNTS_FILE_DIR) number = HandleMysql() new_user = {} for i in user: i["mobile_phone"] = number.create_not_existed_mobile() # 发起请求 res = do_request.send(url=url, data=i).json() # 获取用户id new_user['{}'.format(i['reg_name'])] = res['data'] new_user['{}'.format(i['reg_name'])]['pwd'] = i['pwd'] # 写入配置文件 do_yaml.write_yaml(USER_ACCOUNTS_FILE_DIR, new_user) # 关闭请求 do_request.close() # 关闭数据库连接 number.close()
def create_user(reg_name, password=12345678, type=1): """ 创建用户并将用户信息,添加至全局数据池中 :param reg_name: 用户昵称 :param password: 用户密码,默认为12345678 :param type: 用户类型,默认为1,普通用户 :return: """ do_request = HandleRequest() do_mysql = HandleMysql() # 获取未注册手机号 mobile_phone = do_mysql.create_not_existed_mobile() # 构造请求参数 param = { "mobile_phone": mobile_phone, "pwd": password, "reg_name": reg_name, "type": type } # 构造请求url路径 url = "http://api.lemonban.com/futureloan/member/register" # 获取api头信息 do_request.add_headers(do_yaml.get_data("api", "api_version")) # 进行注册 res = do_request.send("POST", url, json=param) # sql = do_yaml.get_data("mysql", "select_user_sql") # do_mysql.get_values(sql, ) # 从响应报文中获取用户id user_id = res.json()["data"]["id"] # 关闭相关连接 do_request.close() do_mysql.close() # 将用户信息添加至全局数据池中 setattr(GlobalData, "${" + reg_name + "_user_tel}", mobile_phone) setattr(GlobalData, "${" + reg_name + "_user_pwd}", password) setattr(GlobalData, "${" + reg_name + "_user_id}", user_id)
"pwd": "12345678", "type": 1, "reg_name": "borrower" } data2 = { "mobile_phone": do_mysql.create_not_existed_mobile(), "pwd": "12345678", "type": 1, "reg_name": "invenstor" } # 创建请求对象 do_request = HandleRequest() # 添加公共请求头 do_request.add_headers(header) # 发起请求并将请求结果转化未json res1 = do_request.send(url=url, data=data) res_json1 = res1.json() res2 = do_request.send(url=url, data=data1) res_json2 = res2.json() res3 = do_request.send(url=url, data=data2) res_json3 = res3.json() user_account = {} user_account["admin"] = res_json1["data"] user_account["admin"]["pwd"] = "12345678"