def in_parameter_list(): retrieve_list = cfg.get_raw('TASK', 'retrieve') validate_list = cfg.get_raw('TASK', 'validate') product_list = cfg.get_raw('TASK', 'productName') for product in product_list: for retrieve in retrieve_list: if retrieve == 'Retrive': retrieve_case = [] body = { "uniqueIdentity": "QWYHZYFZX", "hospitalCode": "QWYHZYFZX", "timestamp": "1595314032", "requestIP": "192.168.1.56", "audience": product, "appId": "" } retrieve_case.append(body) if retrieve == 'InternalRetrive': retrieve_internal_case = [] body = { "ProductName": product, "HospitalCode": "QWYHZYFZX", "RequestIP": "192.168.1.56" } retrieve_internal_case.append(body) if retrieve == 'InteractiveRetrive': retrieve_interactive_case = [] body = {"ProductName": product, "HospitalCode": "QWYHZYFZX"} retrieve_interactive_case.append(body) for validate in validate_list: if validate == 'Validate': validate_case = [] body = { "appId": "", "timestamp": "1595314032", "sign": "string", "productName": product, "hospitalCode": "QWYHZYFZX", "requestIP": "192.168.1.56" } validate_case.append(body) if validate == 'InternalValidate': validate_internal_case = [] body = { "ProductName": product, "HospitalCode": "QWYHZYFZX", "RequestIP": "192.168.1.56" } validate_internal_case.append(body) if validate == 'InteractiveValidate': validate_interactive_case = [] body = {"ProductName": product, "HospitalCode": "QWYHZYFZX"} validate_interactive_case.append(body)
def generate_values_average_time(num): """ :param num: 生成的values数量 :return: """ data_group = [] # 按表名分组 date_list = ger_dates(num, cfg.get('task', 'startDate'), cfg.get('task', 'endDate')) begin_time = datetime.now() for i in range(num): # 生成几组数据 kv = field_value(i, date_list[i]) # 放在循环外面,使得有关联的字段值在每个表中生成的value一样 data_set = [] for table in tables.split(','): # 从配置文件获取表名的list filed_list = cfg.get_raw('database', table).split(',') values_list = [] for filed in filed_list: if filed in kv.keys(): values_list.append(kv[filed]) else: values_list.append('') data_set.append(tuple(values_list)) # print('生成表{}数据完成,耗时:{}'.format(table, (datetime.now() - begin_time))) data_group.append(data_set) print('第{}组数据已生成'.format(str(i + 1))) # 做行列转化,使得每个表的values值在同1个list里面 table_group = list(map(list, zip(*data_group))) print('{}组数据全部生成,耗时:{}'.format(str(num), datetime.now() - begin_time)) return table_group
def api_test(path, auth, payload): """ :param path: api的url完整路径 :param auth: 是否需要在header里面加入token :param payload: 请求入参 :return: """ api_url = cfg.get_raw('API', 'host') + ':' + cfg.get_raw('API', 'port') + path # print(api_url) hea = {'Content-Type': 'application/json'} if auth: hea['Authorization'] = auth # hea['Content-Length'] = 0 res = request(method='POST', url=api_url, headers=hea, json=payload) return res
def main(): product_list = multiple_para2list(cfg.get_raw('TASK', 'productName')) for product in product_list: print(f'old_token_case{product_list.index(product) + 1}') old_token(product) print(f'new_token_case{product_list.index(product) + 1}') new_token(product) product_call_list = multiple_para2list(cfg.get_raw('TASK', 'productCall')) product_called_list = multiple_para2list( cfg.get_raw('TASK', 'productCalled')) for call in product_call_list: for called in product_called_list: if call != called: new_token_interactive(call, called) new_old_token_interactive(call, called) old_new_token_interactive(call, called)
def generate_sql(): # 获取插入的表list table_names = tables.split(',') insert_sql_list = [] for table in table_names: # 获取插入的字段名 filed_name = cfg.get_raw('database', table) # 去掉读取配置中出现的换行符 if "\n" in filed_name: filed_name = filed_name.replace("\n", "") # 拼接插入语句 insert_part = "INSERT INTO {} ({})".format(table, filed_name) # 拼接赋值语句 filed_num = len(filed_name.split(',')) placeholder = ','.join(['%s' for _ in range(filed_num)]) value_part = "VALUES ({})".format(placeholder) print('表{}的insert语句已生成'.format(table)) insert_sql_list.append(insert_part + ' ' + value_part) return insert_sql_list
def generate_values(num): """ :param num: 生成的values数量 :return: """ data_group = [] # 按表名分组 for i in range(num): # 生成几组数据 kv = field_value(i) # 放在循环外面,使得有关联的字段值在每个表中生成的value一样 data_set = [] for table in tables.split(','): # 从配置文件获取表名的list filed_list = cfg.get_raw('database', table).split(',') values_list = [] for filed in filed_list: if filed in kv.keys(): values_list.append(kv[filed]) else: values_list.append('') data_set.append(tuple(values_list)) data_group.append(data_set) # print('第{}组数据已生成'.format(str(i + 1))) # 做行列转化,使得每个表的values值在同1个list里面 table_group = list(map(list, zip(*data_group))) print('{}组数据全部生成'.format(str(num))) return table_group
# @File : generateSqlData.py # @Software: PyCharm # @license : Copyright(C), eWord Technology Co., Ltd. # @Contact : [email protected] """生成sql操作相关数据""" from faker import Faker from config import cfg from datetime import datetime from common.utils import ger_dates from common.generator import PersonInfo, HospitalData fake = Faker('zh_CN') # 获取插入表 tables = cfg.get_raw('database', 'tableList') # 时间分配开关 if_average_by_Time = cfg.get_bool('task', 'ifAverageByTime') # 获取机构信息 organizationID = cfg.get('business', 'organizationID') organizationName = cfg.get('business', 'organizationName') # 将生成数据赋值给字段 # def field_value(): # kv = {"A_uid": uuid.uuid4(), # "A_uid2": uuid.uuid4(), # "A_field1": fake.name(), # "A_field2": random.choice(['男', '女']), # "A_field3": fake.date_of_birth(tzinfo=None, minimum_age=0, maximum_age=120),