def edit_case(request): if request.session.get('login_status'): 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, '用例更新成功')) 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('project_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: """ if request.session.get('login_status'): acount = request.session["now_account"] 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, '/api/test_list/1/')) elif request.method == 'GET': manage_info = { 'account': acount, 'project': ProjectInfo.objects.all().values('project_name').order_by( '-create_time') } return render_to_response('add_case.html', manage_info) else: return HttpResponseRedirect("/api/login/")
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) info = test_info[0].__dict__ module_name = ModuleInfo.objects.get_module_by_id(info['belong_module_id'])[0].module_name config_info = TestCaseInfo.objects.get_case_by_moduleId(info['belong_module_id'],type=2) all_case_info = TestCaseInfo.objects.get_case_by_moduleId(info['belong_module_id']) logger.info("config_info : {}".format(config_info[1].name)) manage_info = { 'account': account, 'info': info, 'request': request, 'include': include, 'project': ProjectInfo.objects.all().values('project_name').order_by('-create_time'), 'module' : ModuleInfo.objects.all().values().order_by('-create_time'), 'config_info' : config_info, 'all_case' : all_case_info, 'module_name' : str(module_name) } return render_to_response('edit_case.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) 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 edit_case(request, id=None): """ 编辑用例 :param request: :param id: :return: """ account = request.session["now_account"] user_type = request.session['user_type'] if request.is_ajax(): testcase_lists = json.loads(request.body.decode('utf-8')) tastcase = testcase_lists.get('test').get('name') author = tastcase.get('author') project = tastcase.get('project') module = tastcase.get('module') if not validate_operate(account, author, user_type, project, module): return HttpResponse(get_ajax_msg("非创建人或负责人不能修改,请检查", '/api/test_list/1/')) 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) project = test_info[0].belong_project module = test_info[0].belong_module module_info = ModuleInfo.objects.filter(belong_project__project_name=project).order_by('-create_time') modules = list(module_info) case_info = TestCaseInfo.objects.filter(belong_project=project, belong_module=module, type=1).order_by('-create_time') cases = list(case_info) configs = TestCaseInfo.objects.filter(belong_project=project, belong_module=module, type=2).order_by('-create_time') configs = list(configs) query_data = {} devops_modules = devops_api.get_module(query_data).get('data') # devops_modules = [] manage_info = { 'account': account, 'info': test_info[0], 'request': request['test'], 'include': include, 'project': ProjectInfo.objects.all().values('project_name').order_by('-create_time'), 'modules': modules, 'cases': cases, 'configs': configs, 'env': EnvInfo.objects.all().order_by('-create_time'), 'devops_modules': devops_modules } return render_to_response('edit_case.html', manage_info)
def add_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(**testcase_lists) return HttpResponse(get_ajax_msg(msg, '用例添加成功')) elif request.method == 'GET': manage_info = { 'account': request.session["now_account"], 'project': ProjectInfo.objects.all().values('pro_name').order_by('-create_time') } return render_to_response('add_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': 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 edit_case(request, id=None): """ 编辑用例 :param request: :param id: :return: """ if request.session.get('login_status'): 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不是key&value形式 request_data = request['test'] request_value = request_data['request'] logger.info(request_value['data']) if isinstance(request_value['data'], str): logger.info("request_value['data'] is str") if 'data' in request_value.keys() and isinstance( request_value['data'], str): data_body = request_value['data'] del request_value['data'] request_value.setdefault('xml', {'body': data_body}) 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) else: return HttpResponseRedirect("/api/login/")
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)