def add_project(request): """ 新增项目 :param request: :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')) msg = project_info_logic(**project_info) return HttpResponse(get_ajax_msg(msg, '/api/project_list/1/')) elif request.method == 'GET': manage_info = {'account': account} return render_to_response('add_project.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def env_set(request): if request.session.get('login_status'): if request.is_ajax(): try: env_lists = json.loads(request.body.decode('utf-8')) except ValueError: logging.error( '环境信息解析异常:{env_lists}'.format(env_lists=env_lists)) return HttpResponse('环境信息查询异常,请重试') msg = env_data_logic(**env_lists) return HttpResponse(get_ajax_msg(msg, 'ok')) elif request.method == 'GET': return render_to_response( 'env_list.html', {'account': request.session["now_account"]}) else: return HttpResponseRedirect("/api/login/")
def add_project(request): if request.session.get('login_status'): if request.is_ajax(): try: project_info = json.loads(request.body.decode('utf-8')) except ValueError: logger.error('项目信息解析异常: {project_info}'.format(project_info=project_info)) return HttpResponse('项目信息新增异常') msg = project_info_logic(**project_info) return HttpResponse(get_ajax_msg(msg, '项目添加成功')) elif request.method == 'GET': manage_info = { 'account': request.session["now_account"] } return render_to_response('add_project.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def add_case_hikcentral(request): if request.session.get('login_status'): if request.is_ajax(): try: testcase_info = json.loads(request.body.decode('utf-8')) except ValueError: logger.error('用例信息解析异常:{testcase_info}'.format(testcase_info=testcase_info)) return '用例信息解析异常' msg = case_info_logic(**testcase_info) return HttpResponse(get_ajax_msg(msg, '用例添加成功')) elif request.method == 'GET': manage_info = { 'account': request.session["now_account"], 'project': ProjectInfo.objects.all().values('project_name').order_by('-create_time') } return render_to_response('add_xml_case.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def add_task(request): 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('定时任务信息解析异常,请重试') msg = task_logic(**kwargs) return HttpResponse(get_ajax_msg(msg, '任务添加成功')) elif request.method == 'GET': info = { 'env': EnvInfo.objects.all().order_by('-create_time'), 'project': ProjectInfo.objects.all().order_by('-create_time') } return render_to_response('add_task.html', info) else: return HttpResponseRedirect("/api/login/")
def add_case(request): """ 新增用例 :param request: :return: """ account = request.session["now_account"] if request.is_ajax(): testcase_info = json.loads(request.body.decode('utf-8')) msg = case_info_logic(**testcase_info) print("this is ",msg) return HttpResponse(get_ajax_msg(msg, '/api/test_list/1/')) elif request.method == 'GET': manage_info = { 'account': account, 'project': ProjectInfo.objects.all().values('project_name').order_by('-create_time') } return render_to_response('add_case.html', manage_info)
def env_set(request): """ 环境设置 :param request: :return: """ if request.session.get('login_status'): account = request.session["now_account"] if request.is_ajax(): env_lists = json.loads(request.body.decode('utf-8')) msg = env_data_logic(**env_lists) return HttpResponse(get_ajax_msg(msg, 'ok')) elif request.method == 'GET': return render_to_response('env_list.html', {'account': account}) else: return HttpResponseRedirect("/api/login/")
def edit_suite(request, id=None): account = request.session["now_account"] if request.is_ajax(): kwargs = json.loads(request.body.decode('utf-8')) msg = edit_suite_data(**kwargs) return HttpResponse(get_ajax_msg(msg, '/api/suite_list/1/')) suite_info = TestSuite.objects.get(id=id) manage_info = { 'account': account, 'info': suite_info, 'project': ProjectInfo.objects.all().values('project_name').order_by( '-create_time') } return render_to_response('edit_suite.html', manage_info)
def add_module(request): if request.session.get('login_status'): if request.is_ajax(): try: module_info = json.loads(request.body.decode('utf-8')) except ValueError: logger.error( '模块信息解析异常:{module_info}'.format(module_info=module_info)) msg = module_info_logic(**module_info) return HttpResponse(get_ajax_msg(msg, '模块添加成功')) elif request.method == 'GET': manage_info = { 'account': request.session["now_account"], 'data': ProjectInfo.objects.all().values('project_name') } return render_to_response('add_module.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def load_suite(request): account = request.session["now_account"] if request.is_ajax(): params = json.loads(request.body.decode('utf-8')) project = params.get('test', {}).get('name', {}).get('project') if not project: return '' project_info = ProjectInfo.objects.get(project_name__exact=project) suites = TestSuite.objects.filter(belong_project_id=project_info.id). \ values_list('id', 'suite_name').order_by('-create_time') suites = list(suites) string = '' for value in suites: string = string + str(value[0]) + '^=' + value[1] + 'replaceFlag' result = string[:len(string) - 11] return HttpResponse(get_ajax_msg(result, '/api/test_list/1/'))
def add_project(request): """ 新增项目 :param request: :return: """ account = request.session["now_account"] if request.is_ajax(): project_info = json.loads(request.body.decode('utf-8')) project_info['creator'] = account msg = project_info_logic(**project_info) return HttpResponse(get_ajax_msg(msg, '/api/project_list/1/')) elif request.method == 'GET': manage_info = { 'account': account, 'configs': TestCaseInfo.objects.filter(type=2).order_by('-create_time') } return render_to_response('add_project.html', manage_info)
def add_config(request): if request.session.get('login_status'): if request.is_ajax(): testconfig_lists = json.loads(request.body.decode('utf-8')) logger.debug('处理前配置信息:{testconfig_lists}'.format( testconfig_lists=testconfig_lists)) msg = config_info_logic(**testconfig_lists) return HttpResponse(get_ajax_msg(msg, '配置添加成功')) elif request.method == 'GET': manage_info = { 'account': request.session["now_account"], 'project': ProjectInfo.objects.all().values('project_name').order_by( '-create_time') } return render_to_response('add_config.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def add_task(request): """ 添加任务 :param request: :return: """ account = request.session["now_account"] if request.is_ajax(): kwargs = json.loads(request.body.decode('utf-8')) msg = task_logic(**kwargs) return HttpResponse(get_ajax_msg(msg, '/api/periodictask/1/')) elif request.method == 'GET': info = { 'account': account, 'env': EnvInfo.objects.all().order_by('-create_time'), 'project': ProjectInfo.objects.all().order_by('-create_time') } return render_to_response('add_task.html', info)
def add_module(request): """ 新增模块 :param request: :return: """ account = request.session["now_account"] if request.is_ajax(): module_info = json.loads(request.body.decode('utf-8')) module_info['creator'] = account msg = module_info_logic(**module_info) return HttpResponse(get_ajax_msg(msg, '/api/module_list/1/')) elif request.method == 'GET': manage_info = { 'account': account, 'data': ProjectInfo.objects.all().values('project_name'), 'configs': TestCaseInfo.objects.filter(type=2).order_by('-create_time') } return render_to_response('add_module.html', manage_info)
def add_suite(request): if request.session.get('login_status'): account = request.session["now_account"] if request.is_ajax(): kwargs = json.loads(request.body.decode('utf-8')) msg = add_suite_data(**kwargs) return HttpResponse(get_ajax_msg(msg, '/api/suite_list/1/')) elif request.method == 'GET': manage_info = { 'account': account, 'project': ProjectInfo.objects.all().values('project_name').order_by( '-create_time') } return render_to_response('add_suite.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def edit_service_config(request): account = request.session["now_account"] if request.method == 'GET': id = request.GET.get('id') service_info = ServiceConfig.objects.get(id=id) details = ServiceConfigDetail.objects.filter(service_config_id=id) details = list(details) info = { 'account': account, 'info': service_info, 'details': details, 'env': EnvInfo.objects.all().order_by('-create_time'), 'project': ProjectInfo.objects.all().order_by('-create_time') } return render_to_response('edit_service_config.html', info) elif request.is_ajax(): kwargs = json.loads(request.body.decode('utf-8')) kwargs['modifier'] = account msg = update_service_config_data(**kwargs) return HttpResponse(get_ajax_msg(msg, '/api/service_config_list/1/'))
def add_config(request): """ 新增配置 :param request: :return: """ if request.session.get('login_status'): account = request.session["now_account"] if request.is_ajax(): testconfig_info = json.loads(request.body.decode('utf-8')) msg = config_info_logic(**testconfig_info) return HttpResponse(get_ajax_msg(msg, '/api/config_list/1/')) elif request.method == 'GET': manage_info = { 'account': account, 'project': ProjectInfo.objects.all().values('project_name').order_by('-create_time') } return render_to_response('add_config.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def add_module(request): """ 新增模块 :param request: :return: """ if request.session.get('login_status'): account = request.session["now_account"] if request.is_ajax(): module_info = json.loads(request.body.decode('utf-8')) msg = module_info_logic(**module_info) return HttpResponse(get_ajax_msg(msg, '/api/module_list/1/')) elif request.method == 'GET': manage_info = { 'account': account, 'data': ProjectInfo.objects.all().values('project_name') } return render_to_response('add_module.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def edit_config(request): if request.session.get('login_status'): if request.is_ajax(): testconfig_lists = json.loads(request.body.decode('utf-8')) msg = config_info_logic(type=False, **testconfig_lists) return HttpResponse(get_ajax_msg(msg, '配置更新成功')) elif request.method == 'POST': id = request.POST.get('id') account = request.POST.get('account') test_info = TestCaseInfo.objects.get_case_by_id(id) request = eval(test_info[0].request) manage_info = { 'account': account, 'info': test_info[0], 'request': request['config'] } return render_to_response('edit_config.html', manage_info) else: return HttpResponseRedirect("/api/login/")
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 test_logic_list(request, id): 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_logic_data(test_info.pop('id'), account, user_type) elif test_info.get('mode') == 'copy': msg = copy_test_logic_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( TestCaseLogicInfo, filter_query, '/api/test_logic_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_logic_list.html', manage_info)
def edit_case(request): if request.session.get('login_status'): if request.is_ajax(): testcase_lists = json.loads(request.body.decode('utf-8')) msg = case_info_logic(type=False, **testcase_lists) return HttpResponse(get_ajax_msg(msg, '用例更新成功')) elif request.method == 'POST': id = request.POST.get('id') account = request.POST.get('account') test_info = TestCaseInfo.objects.get_case_by_id(id) request = eval(test_info[0].request) manage_info = { 'account': account, 'info': test_info[0], 'request': request['test'], 'project': ProjectInfo.objects.all().values('pro_name').order_by('-create_time') } return render_to_response('edit_case.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def add_case(request): """ 新增用例 :param request: :return: """ account = request.session["now_account"] if request.is_ajax(): testcase_info = json.loads(request.body.decode('utf-8')) msg = case_info_logic(**testcase_info) return HttpResponse(get_ajax_msg(msg, '/api/test_list/1/')) elif request.method == 'GET': query_data = {} devops_modules =devops_api.get_module(query_data).get('data') # devops_modules =[] manage_info = { 'account': account, 'project': ProjectInfo.objects.all().values('project_name').order_by('-create_time'), 'env': EnvInfo.objects.all().order_by('-create_time'), 'devops_modules': devops_modules } return render_to_response('add_case.html', manage_info)
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 edit_case(request, id=None): """ 编辑用例 :param request: :param id: :return: """ account = request.session["now_account"] if request.is_ajax(): testcase_lists = json.loads(request.body.decode('utf-8')) msg = case_info_logic(type=False, **testcase_lists) return HttpResponse(get_ajax_msg(msg, '/api/test_list/1/')) test_info = TestCaseInfo.objects.get_case_by_id(id) request = eval(test_info[0].request) print('---------------') if 'data' in request['test']['request']: str_test_data = request['test']['request']['data'] if '=' in str_test_data: dic_test_data = str_to_post_data(str_test_data) request['test']['request']['data'] = dic_test_data print(request['test']['request']['data']) print('---------------') include = eval(test_info[0].include) manage_info = { 'account': account, 'info': test_info[0], 'request': request['test'], 'include': include, 'project': ProjectInfo.objects.all().values('project_name').order_by( '-create_time') } return render_to_response('edit_case.html', manage_info)
def edit_case(request, id=None): """ 编辑用例 :param request: :param id: :return: """ if request.session.get('login_status'): acount = request.session["now_account"] if request.is_ajax(): try: testcase_lists = json.loads(request.body.decode('utf-8')) except ValueError: logger.error('用例信息解析异常:{testcase_lists}'.format( testcase_lists=testcase_lists)) return HttpResponse('用例信息解析异常') msg = case_info_logic(type=False, **testcase_lists) return HttpResponse(get_ajax_msg(msg, '/api/test_list/1/')) test_info = TestCaseInfo.objects.get_case_by_id(id) request = eval(test_info[0].request) include = eval(test_info[0].include) manage_info = { 'account': acount, 'info': test_info[0], 'request': request['test'], 'include': include, 'project': ProjectInfo.objects.all().values('project_name').order_by( '-create_time') } return render_to_response('edit_case.html', manage_info) else: return HttpResponseRedirect("/api/login/")
def test_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/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: return HttpResponseRedirect("/api/login/")
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')) 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/test_list/', id) print(TestCaseInfo) 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') } print(manage_info) return render_to_response('test_list.html', manage_info) print(00000000000)
def edit_case(request, id=None): """ 编辑用例 :param request: :param id: :return: """ account = request.session["now_account"] if request.is_ajax(): testcase_lists = json.loads(request.body.decode('utf-8')) msg = case_info_logic(type=False, **testcase_lists) return HttpResponse(get_ajax_msg(msg, '/api/test_list/1/')) test_info = TestCaseInfo.objects.get_case_by_id(id) request = eval(test_info[0].request) include = eval(test_info[0].include) # 新增判断data数据为字符串时候,改成字典{"x":"FilesOnly"}显示在前端页面 if request['test']['request'].get('data'): tmp_str = request['test']['request']['data'] if isinstance(tmp_str, str): request['test']['request'].pop('data') request['test']['request']['data'] = {tmp_str: 'FilesOnly'} manage_info = { 'account': account, 'info': test_info[0], 'request': request['test'], 'include': include, 'project': ProjectInfo.objects.all().values('project_name').order_by( '-create_time') } return render_to_response('edit_case.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)