Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
    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
Exemplo n.º 6
0
    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
Exemplo n.º 7
0
    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