def test_list(request, id): """ 用例列表 :param request: :param id: str or int:当前页 :return: """ account = request.session["now_account"] if request.is_ajax(): test_info = json.loads(request.body.decode('utf-8')) if test_info.get('mode') == 'del': msg = del_test_data(test_info.pop('id')) return HttpResponse(get_ajax_msg(msg, 'ok')) if test_info.get('mode') == 'copy': msg = copy_test_data( test_info.get('data').pop('index'), test_info.get('data').pop('name')) return HttpResponse(get_ajax_msg(msg, 'ok')) # 新增ajax(查询用例)逻辑处理 filter_query = set_filter_session(request) test_list = get_pager_info(TestCaseInfo, filter_query, '/api/test_list/', id) result_list = list() results = serializers.serialize('json', test_list[1], ensure_ascii=False) # 数据库对象转化json result = [result.get('fields') for result in json.loads(results)] # 提取数据库字段 testcase_id = [i.get('pk') for i in json.loads(results)] for num, i in enumerate(result): # 将id字段添加到字段中 i['id'] = testcase_id[num] i['url'] = convert_eval_url(i.get('request')) i['belong_module_name'] = ModuleInfo.objects.get_module_name( i.get('belong_module'), type=False).module_name result_list.append(result) result_list.append(str(test_list[0])) return JsonResponse(result_list, safe=False) else: filter_query = set_filter_session(request) test_list = get_pager_info(TestCaseInfo, filter_query, '/api/test_list/', id) # 获取被引用用例id列表 manage_info = { 'account': account, 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query, 'env': EnvInfo.objects.all().order_by('-create_time'), 'project': ProjectInfo.objects.all().order_by('-update_time') } return render_to_response('test_list.html', manage_info)
def report_list(request, id): """ 报告列表 :param request: :param id: str or int:当前页 :return: """ if request.session.get('login_status'): if request.is_ajax(): try: report_info = json.loads(request.body.decode('utf-8')) except ValueError: logging.error( '报告信息解析异常:{report_info}'.format(report_info=report_info)) return HttpResponse('报告信息解析异常') if report_info.get('mode') == 'del': msg = del_report_data(report_info.pop('id')) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) report_list = get_pager_info(TestReports, filter_query, '/api/report_list/', id) manage_info = { 'account': request.session["now_account"], 'report': report_list[1], 'page_list': report_list[0], 'info': filter_query } return render_to_response('report_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def periodictask(request, id): if request.session.get('login_status'): if request.is_ajax(): try: kwargs = json.loads(request.body.decode('utf-8')) except ValueError: logging.error('定时任务信息解析异常: {kwargs}'.format(kwargs=kwargs)) return HttpResponse('定时任务信息解析异常,请重试') mode = kwargs.pop('mode') id = kwargs.pop('id') msg = delete_task(id) if mode == 'del' else change_task_status( id, mode) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) task_list = get_pager_info(PeriodicTask, filter_query, '/api/periodictask/', id) manage_info = { 'account': request.session["now_account"], 'task': task_list[1], 'page_list': task_list[0], 'info': filter_query } return render_to_response('periodictask_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def webhook_list(request, id): """ :param request: :param id: :return: """ if request.session.get('login_status'): account = request.session["now_account"] if request.is_ajax(): webhook_info = json.loads(request.body.decode('utf-8')) pro_id = webhook_info.get('webhook').get('pro_id') res = generate_webhook_token(pro_id) manage_info = {"token": ['ok', res.get('msg')]} return HttpResponse( get_ajax_msg( manage_info.get('token')[0], manage_info.get('token')[1])) else: filter_query = set_filter_session(request) test_list = get_pager_info(WebHooKInfo, filter_query, '/api/webhook_list/', id) manage_info = { 'account': account, 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query, 'env': EnvInfo.objects.all().order_by('-create_time') } return render_to_response('webhook_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def module_list(request, id): """ 模块列表 :param request: :param id: str or int:当前页 :return: """ account = request.session["now_account"] if request.is_ajax(): module_info = json.loads(request.body.decode('utf-8')) if 'mode' in module_info.keys(): # del module msg = del_module_data(module_info.pop('id')) else: msg = module_info_logic(type=False, **module_info) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) module_list = get_pager_info( ModuleInfo, filter_query, '/api/module_list/', id) manage_info = { 'account': account, 'module': module_list[1], 'page_list': module_list[0], 'info': filter_query, 'sum': module_list[2], 'env': EnvInfo.objects.all().order_by('-create_time'), 'project': ProjectInfo.objects.all().order_by('-update_time') } return render_to_response('module_list.html', manage_info)
def report_list(request, id): """ 报告列表 :param request: :param id: str or int:当前页 :return: """ if request.is_ajax(): report_info = json.loads(request.body.decode('utf-8')) if report_info.get('mode') == 'del': msg = del_report_data(report_info.pop('id')) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) report_list = get_pager_info( TestReports, filter_query, '/api/report_list/', id) manage_info = { 'account': request.session["now_account"], 'report': report_list[1], 'page_list': report_list[0], 'info': filter_query } return render_to_response('report_list.html', manage_info)
def project_list(request, id): """ 项目列表 :param request: :param id: str or int:当前页 :return: """ if request.session.get('login_status'): account = request.session["now_account"] if request.is_ajax(): project_info = json.loads(request.body.decode('utf-8')) if 'mode' in project_info.keys(): msg = del_project_data(project_info.pop('id')) else: msg = project_info_logic(type=False, **project_info) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) pro_list = get_pager_info( ProjectInfo, filter_query, '/api/project_list/', id) manage_info = { 'account': account, 'project': pro_list[1], 'page_list': pro_list[0], 'info': filter_query, 'sum': pro_list[2], 'env': EnvInfo.objects.all().order_by('-create_time') } return render_to_response('project_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def periodictask(request, id): """ 定时任务列表 :param request: :param id: str or int:当前页 :return: """ account = request.session["now_account"] if request.is_ajax(): kwargs = json.loads(request.body.decode('utf-8')) mode = kwargs.pop('mode') id = kwargs.pop('id') msg = delete_task(id) if mode == 'del' else change_task_status(id, mode) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) task_list = get_pager_info( PeriodicTask, filter_query, '/api/periodictask/', id) manage_info = { 'account': account, 'task': task_list[1], 'page_list': task_list[0], 'info': filter_query } return render_to_response('periodictask_list.html', manage_info)
def config_list(request, id): """ 配置列表 :param request: :param id: str or int:当前页 :return: """ if request.session.get('login_status'): acount = request.session["now_account"] if request.is_ajax(): try: test_info = json.loads(request.body.decode('utf-8')) except ValueError: logging.error('配置信息解析异常:{test_info}'.format(test_info=test_info)) return HttpResponse('配置信息解析异常') if test_info.get('mode') == 'del': msg = del_test_data(test_info.pop('id')) elif test_info.get('mode') == 'copy': msg = copy_test_data(test_info.get('data').pop('index'), test_info.get('data').pop('name')) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) test_list = get_pager_info( TestCaseInfo, filter_query, '/api/config_list/', id) manage_info = { 'account': acount, 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query } return render_to_response('config_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def module_list(request, id): if request.session.get('login_status'): if request.is_ajax(): try: module_info = json.loads(request.body.decode('utf-8')) except ValueError: logging.error( '模块信息解析异常:{module_info}'.format(module_info=module_info)) return HttpResponse('模块信息解析异常') if 'mode' in module_info.keys(): # del module msg = del_module_data(module_info.pop('id')) else: msg = module_info_logic(type=False, **module_info) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) module_list = get_pager_info(ModuleInfo, filter_query, '/api/module_list/', id) manage_info = { 'account': request.session["now_account"], 'module': module_list[1], 'page_list': module_list[0], 'info': filter_query, 'sum': module_list[2], 'env': EnvInfo.objects.all().order_by('-create_time') } return render_to_response('module_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def config_list(request, id): if request.session.get('login_status'): if request.is_ajax(): try: test_info = json.loads(request.body.decode('utf-8')) except ValueError: logging.error( '配置信息解析异常:{test_info}'.format(test_info=test_info)) return HttpResponse('配置信息解析异常') if 'mode' in test_info.keys(): msg = del_test_data(test_info.pop('id')) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) test_list = get_pager_info(TestCaseInfo, filter_query, '/api/config_list/', id) manage_info = { 'account': request.session["now_account"], 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query } return render_to_response('config_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def project_list(request, id): if request.session.get('login_status'): if request.is_ajax(): try: project_info = json.loads(request.body.decode('utf-8')) except ValueError: logging.debug('项目信息解析异常:{project_info}'.format( project_info=project_info)) return HttpResponse('项目信息解析异常') if 'mode' in project_info.keys(): msg = del_project_data(project_info.pop('id')) else: msg = project_info_logic(type=False, **project_info) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) pro_list = get_pager_info(ProjectInfo, filter_query, '/api/project_list/', id) manage_info = { 'account': request.session["now_account"], 'project': pro_list[1], 'page_list': pro_list[0], 'info': filter_query, 'sum': pro_list[2] } return render_to_response('project_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def config_list(request, id): """ 配置列表 :param request: :param id: str or int:当前页 :return: """ account = request.session["now_account"] if request.is_ajax(): test_info = json.loads(request.body.decode('utf-8')) if test_info.get('mode') == 'del': msg = del_test_data(test_info.pop('id')) elif test_info.get('mode') == 'copy': msg = copy_test_data(test_info.get('data').pop('index'), test_info.get('data').pop('name')) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) test_list = get_pager_info( TestCaseInfo, filter_query, '/api/config_list/', id) manage_info = { 'account': account, 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query, 'project': ProjectInfo.objects.all().order_by('-update_time') } return render_to_response('config_list.html', manage_info)
def suite_list(request, id): account = request.session["now_account"] if request.is_ajax(): suite_info = json.loads(request.body.decode('utf-8')) if suite_info.get('mode') == 'del': msg = del_suite_data(suite_info.pop('id')) elif suite_info.get('mode') == 'copy': msg = copy_suite_data( suite_info.get('data').pop('index'), suite_info.get('data').pop('name')) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) pro_list = get_pager_info(TestSuite, filter_query, '/api/suite_list/', id) manage_info = { 'account': account, 'suite': pro_list[1], 'page_list': pro_list[0], 'info': filter_query, 'sum': pro_list[2], 'env': EnvInfo.objects.all().order_by('-create_time'), 'project': ProjectInfo.objects.all().order_by('-update_time') } return render_to_response('suite_list.html', manage_info)
def interface_list(request, id): """ 接口列表 :param request: :param id: str or int:当前页 :return: """ if request.session.get('login_status'): acount = request.session["now_account"] filter_query = set_filter_session(request) if request.method == 'GET': if request.GET.get('interface_name') is None: test_list = get_pager_info(TestCaseInfo, filter_query, '/api/interface_list/', id) manage_info = { 'account': acount, 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query, 'env': EnvInfo.objects.all().order_by('-create_time') } return render_to_response('interface_list.html', manage_info) else: filter_query['interface_name'] = request.GET.get( 'interface_name') test_list = get_pager_info(TestCaseInfo, filter_query, '/api/test_list/', id) manage_info = { 'account': acount, 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query, 'env': EnvInfo.objects.all().order_by('-create_time') } return render_to_response('test_list.html', manage_info) else: if request.POST.get('interface_name') is not None: filter_query['interface_name'] = request.POST.get( 'interface_name') test_list = get_pager_info(TestCaseInfo, filter_query, '/api/interface_list/', id) manage_info = { 'account': acount, 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query, 'env': EnvInfo.objects.all().order_by('-create_time') } return render_to_response('interface_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def report_list(request, id): if request.session.get('login_status'): filter_query = set_filter_session(request) report_list = get_pager_info(TestReports, filter_query, '/api/report_list/', id) manage_info = { 'account': request.session["now_account"], 'report': report_list[1], 'page_list': report_list[0], 'info': filter_query } return render_to_response('report_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def test_list(request, id): """ 用例列表 :param request: :param id: str or int:当前页 :return: """ account = request.session["now_account"] user_type = request.session['user_type'] if request.is_ajax(): test_info = json.loads(request.body.decode('utf-8')) if test_info.get('mode') == 'del': msg = del_test_data(test_info.pop('id'), account, user_type) elif test_info.get('mode') == 'copy': msg = copy_test_data(test_info.get('data').pop('index'), test_info.get('data').pop('name'), account) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) if 'case_id' in request.POST.keys(): filter_query['case_id'] = request.POST.get('case_id') if 'service_name' in request.POST.keys(): filter_query['service_name'] = request.POST.get('service_name') test_list = get_pager_info( TestCaseInfo, filter_query, '/api/test_list/', id) manage_info = { 'account': account, 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query, 'env': EnvInfo.objects.all().order_by('-create_time'), 'projects': ProjectInfo.objects.all().order_by('-update_time') } # 添加模块下拉 modules = [] if filter_query.get('belong_project') != 'All': modules = ModuleInfo.objects.filter( belong_project__project_name=filter_query.get('belong_project')).order_by('-create_time') manage_info['modules'] = modules return render_to_response('test_list.html', manage_info)
def config_list(request, id): if request.session.get('login_status'): if request.is_ajax(): test_info = json.loads(request.body.decode('utf-8')) if 'status' in test_info.keys(): msg = change_status(TestCaseInfo, **test_info) return HttpResponse(get_ajax_msg(msg, '配置已更改!')) else: filter_query = set_filter_session(request) test_list = get_pager_info(TestCaseInfo, filter_query, '/api/config_list/', id) manage_info = { 'account': request.session["now_account"], 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query } return render_to_response('config_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def project_list(request, id): """ 项目列表 :param request: :param id: str or int:当前页 :return: """ account = request.session["now_account"] user_type = request.session['user_type'] if request.is_ajax(): project_info = json.loads(request.body.decode('utf-8')) project_info['account'] = account project_info['user_type'] = user_type if 'mode' in project_info.keys(): msg = del_project_data(project_info.pop('id'), account, user_type) else: msg = project_info_logic(type=False, **project_info) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) project_name = request.POST.get('project_name') if project_name is None: project_name = '' filter_query['project_name'] = project_name pro_list = get_pager_info( ProjectInfo, filter_query, '/api/project_list/', id) manage_info = { 'account': account, 'project': pro_list[1], 'projects': ProjectInfo.objects.all().order_by('-update_time'), 'page_list': pro_list[0], 'info': filter_query, 'sum': pro_list[2], 'env': EnvInfo.objects.all().order_by('-create_time'), 'project_all': ProjectInfo.objects.all().order_by('-update_time'), 'configs': TestCaseInfo.objects.filter(type=2).order_by('-create_time') } return render_to_response('project_list.html', manage_info)
def test_list(request, id): """ 用例列表 :param request: :param id: str or int:当前页 :return: """ if request.session.get('login_status'): account = request.session["now_account"] if request.is_ajax(): test_info = json.loads(request.body.decode('utf-8')) if test_info.get('mode') == 'del': msg = del_test_data(test_info.pop('id')) elif test_info.get('mode') == 'copy': msg = copy_test_data( test_info.get('data').pop('index'), test_info.get('data').pop('name')) return HttpResponse(get_ajax_msg(msg, 'ok')) else: filter_query = set_filter_session(request) if request.POST.get('level') is not None: filter_query['level'] = request.POST.get('level') test_list = get_pager_info(TestCaseInfo, filter_query, '/api/test_list/', id) manage_info = { 'account': account, 'test': test_list[1], 'page_list': test_list[0], 'info': filter_query, 'env': EnvInfo.objects.all().order_by('-create_time') } return render_to_response('test_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def module_list(request, id): if request.session.get('login_status'): if request.is_ajax(): module_info = json.loads(request.body.decode('utf-8')) if 'status' in module_info.keys(): msg = change_status(ModuleInfo, **module_info) return HttpResponse(get_ajax_msg(msg, '模块状态已更改!')) else: msg = module_info_logic(type=False, **module_info) return HttpResponse(get_ajax_msg(msg, '模块信息更新成功')) else: filter_query = set_filter_session(request) module_list = get_pager_info(ModuleInfo, filter_query, '/api/module_list/', id) manage_info = { 'account': request.session["now_account"], 'module': module_list[1], 'page_list': module_list[0], 'info': filter_query } return render_to_response('module_list.html', manage_info) else: return HttpResponseRedirect("/api/login/")