예제 #1
0
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)
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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)
예제 #5
0
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
예제 #6
0
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
예제 #7
0
# @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),