def delete(self): json_data = request.get_json(force=True) if not json_data: return {'status': 'No input data provided'}, 400 branch = json_data['branch'] os = json_data['os'] if os not in STRUCTURES.keys() or os not in SCHEMAS.keys(): return {'status': 'OS->{} is not supported'.format(os)}, 400 if branch not in STRUCTURES[os].keys( ) or branch not in SCHEMAS[os].keys(): return { 'status': 'Branch->{} is not supported'.format(branch) }, 400 category = STRUCTURES[os][branch]['step_structure'].query.all() for el in category: db.session.delete(el) db.session.commit() category = STRUCTURES[os][branch]['step_structure'].query.all() data, errors = SCHEMAS[os][branch]['steps_schema'].dump(category) if data: return {"status": "db not cleaned"}, 422 return { 'status': 'db cleaned successfully', "branch": branch, "data": serializer(os, branch, data) }, 200
def post(self): json_data = request.get_json(force=True) if not json_data: return {'status': 'No input data provided'}, 400 branch = json_data['branch'] os = json_data['os'] if os not in STRUCTURES.keys() or os not in SCHEMAS.keys(): return {'status': 'OS->{} is not supported'.format(os)}, 400 if branch not in STRUCTURES[os].keys( ) or branch not in SCHEMAS[os].keys(): return { 'status': 'Branch->{} is not supported'.format(branch) }, 400 category = STRUCTURES[os][branch]['step_structure'].query.all() data, errors = SCHEMAS[os][branch]['steps_schema'].dump(category) if errors: return {"status": "error", "data": errors}, 422 return { "status": "success", "branch": branch, "data": serializer(os, branch, data) }, 200
def delete(self): category = BugStructure.query.all() for f in set(STRUCTURES.keys()): category_t = STRUCTURES[f]['test_structure'].query.all() if category_t: for test in set(category_t): if test.bugs: test.skip = False test.bugs = [] category_s = STRUCTURES[f]['step_structure'].query.all() if category_s: for step in set(category_s): if step.bugs: step.skip = False step.bugs = [] for el in set(category): db.session.delete(el) db.session.commit() category = BugStructure.query.all() data, errors = bugs_schema.dump(category) if data: return {"status": "db not cleaned"}, 422 return {'status': 'db cleaned successfully', "data": data}, 200
def put(self): json_data = request.get_json(force=True) if not json_data: return {'status': 'No input data provided'}, 400 issue = search_issue_by_id(json_data['id'], USERNAME, PASSWORD) category = BugStructure.query.get(json_data['id']) if not category: return {'status': 'Category does not exist'}, 400 if issue.fields.status.name in [i.value for i in StatusesDeny]: for f in set(STRUCTURES.keys()): category_t = STRUCTURES[f]['test_structure'].query.all() if category_t: for test in set(category_t): if test.bugs and int(json_data['id']) in test.bugs: test.bugs = [ i for i in test.bugs if i != int(json_data['id']) ] if not test.bugs: test.skip = False category_s = STRUCTURES[f]['step_structure'].query.all() if category_s: for step in set(category_s): if step.bugs and int(json_data['id']) in step.bugs: step.bugs = [ i for i in step.bugs if i != int(json_data['id']) ] if not step.bugs: step.skip = False category.name = issue.key category.status = issue.fields.status.name category.description = issue.fields.summary db.session.commit() data, errors = bug_schema.dump(category) if errors: return {"status": "error", "data": errors}, 422 return {"status": 'success', 'data': data}, 200
def put(self): json_data = request.get_json(force=True) if not json_data: return {'status': 'No input data provided'}, 400 branch = json_data['branch'] os = json_data['os'] json_data = json_data['data'] if os not in STRUCTURES.keys() or os not in SCHEMAS.keys(): return {'status': 'OS->{} is not supported'.format(os)}, 400 if branch not in STRUCTURES[os].keys( ) or branch not in SCHEMAS[os].keys(): return { 'status': 'Branch->{} is not supported'.format(branch) }, 400 if not isinstance(json_data, list): json_data = [json_data] for data in json_data: category = STRUCTURES[os][branch][ 'step_structure'].query.filter_by( step_id=data['step_id']).first() if category: category.skip = data['skip'] category.issues = data['issues'] category.description = data['description'] db.session.commit() category = STRUCTURES[os][branch]['step_structure'].query.all() data, errors = SCHEMAS[os][branch]['steps_schema'].dump(category) if errors: return {"status": "error", "data": errors}, 422 return { "status": 'success', "branch": branch, 'data': serializer(os, branch, data) }, 200
def post(self): json_data = request.get_json(force=True) if not json_data: return {'status': 'No input data provided'}, 400 category = BugStructure.query.get(json_data['id']) if not category: return {'status': 'Category does not exist'}, 400 for f in STRUCTURES.keys(): category_t = STRUCTURES[f]['test_structure'].query.all() if category_t: for test in set(category_t): if test.bugs and int(json_data['id']) in test.bugs: test.bugs = [ i for i in test.bugs if i != int(json_data['id']) ] if not test.bugs: test.skip = False category_s = STRUCTURES[f]['step_structure'].query.all() if category_s: for step in set(category_s): if step.bugs and json_data['id'] in step.bugs: step.bugs = [ i for i in step.bugs if i != json_data['id'] ] if not step.bugs: step.skip = False data, errors = bug_schema.dump(category) if errors: return {"status": "error", "data": errors}, 422 db.session.delete(category) db.session.commit() return {"status": 'success', 'data': data}, 200
def put(self): json_data = request.get_json(force=True) if not json_data: return {'status': 'No input data provided'}, 400 all_issues = json_data['issues'] if not isinstance(json_data['issues'], list): all_issues = [json_data['issues']] iter_start = 0 iter_end = 450 step = 450 issues = [] for i in range(int(math.ceil(float(len(all_issues)) / 450))): jql = JQL_BUGS.format( key=', '.join(all_issues[iter_start:iter_end])) iter_start += step iter_end += step issues += search_all_issues(jql, USERNAME, PASSWORD) for issue in set(issues): category = BugStructure.query.get(issue.id) if category: if issue.fields.status.name in set( [i.value for i in StatusesDeny]): for f in STRUCTURES.keys(): category_t = STRUCTURES[f]['test_structure'].query.all( ) if category_t: for test in set(category_t): if test.bugs and int(issue.id) in test.bugs: test.bugs = [ i for i in test.bugs if i != int(issue.id) ] if not test.bugs: test.skip = False category_s = STRUCTURES[f]['step_structure'].query.all( ) if category_s: for step in set(category_s): if step.bugs and int(issue.id) in step.bugs: step.bugs = [ i for i in step.bugs if i != int(issue.id) ] if not step.bugs: step.skip = False category.name = issue.key category.status = issue.fields.status.name category.description = issue.fields.summary db.session.commit() category = BugStructure.query.all() data, errors = bugs_schema.dump(category) if errors: return {"status": "error", "data": errors}, 422 return {"status": 'success', 'data': data}, 200