Ejemplo n.º 1
0
    def get_random_size_list(my_list, list_size=None):
        '''
        从一个list里面,生成随机大小的子集list;
        比如: [2,5,7,9] 可能随机的结果是 [2,5], 也可能是[5,7,9]
        :param my_list: 原始list
        :param list_size: 期望拿到的输出的list 长度,必须要小于原始list长度
        :return:
        '''
        if list_size is not None:
            if list_size > len(my_list):
                raise Exception("期望得到的list_size,超过了当前list 最大值 - {}!!!".format(
                    len(list)))
            how_many = list_size
        else:
            if len(my_list) < 1:
                LogUtil.error("当前应该有错误,需要看一下 this_list: {}".format(
                    str(my_list)))
                raise Exception(u" 期望de this_list长度小于1!!!")
            how_many = random.randint(1, len(my_list))

        tmp_list = deepcopy(my_list)
        final_list = []
        for i in xrange(how_many):
            rand_item = tmp_list[random.randint(1, len(tmp_list)) - 1]

            final_list.append(rand_item)
            tmp_list.pop(tmp_list.index(rand_item))

        return final_list
Ejemplo n.º 2
0
    def address(self):
        if self.rpc_host not in VALID_TEST_HOST:
            raise Exception(
                "测试环境可用机器列表: {}, 不包含 当前请求的rpc host: {}\n "
                " -- 如果有例外,local 使用时候,可以屏蔽这里\n"
                "['注意!!!']不可以把线上ip push上去,自动化干的事情,谁也保不齐!!!".format(
                    VALID_TEST_HOST, self.rpc_host))

        if self.rpc_port and self.rpc_port:
            return "{}:{}".format(self.rpc_host, self.rpc_port)
        else:
            LogUtil.error(u'本次没有指定rpc的IP和端口,本次请求会打到线上!')
            return
Ejemplo n.º 3
0
    def log_response_details(response_body):
        LogUtil.info(
            "-----[RESPONSE] details below : ----------------------------")

        LogUtil.info('Returned code: {}'.format(response_body.status_code))

        if response_body.status_code != 200:
            LogUtil.info("[WARN]Return code is not 200!!!! but {} .".format(
                response_body.status_code))

            err_msg = response_body.text
            try:
                json_body = response_body.json()
                s = str(json_body).replace('u\'', '\'')
                LogUtil.info('  Response: ')
                LogUtil.info(s.decode('unicode-escape'))
                err_msg = s.decode('unicode-escape')
            except Exception as e:
                LogUtil.error('Response raw data: ')
                LogUtil.exception(err_msg, e)

            LogUtil.error(
                u"\n【FATAL ERROR】检查请求细节是否出错,或者服务器是否有问题\n      ---->>  {}".
                format(err_msg))

        else:
            try:
                json_body = response_body.json()
                s = str(json_body).replace('u\'', '\'')
                LogUtil.info('  Response: ')
                LogUtil.info(s.decode('unicode-escape'))

            except:
                LogUtil.info(u'  Response raw data: \n{}'.format(
                    response_body.text))
                raise Exception("http请求的返回不是Json格式,检查服务器是否有问题")

        LogUtil.info(
            "------------------------------------------------------------------------"
        )