Beispiel #1
0
class TestInfoFromReport(Resource):
    def __init__(self):
        self.report_service = ReportService()

    def get(self, platform, suite, test):
        result = []
        reports = list(
            self.report_service.find_all_reports({'platform': platform, 'suits.name': suite, 'suits.tests.name': test}))
        test_info = self.report_service.get_test_info(suite, test)
        for report in reports:
            target_suite = [test_suite for test_suite in report['suits'] if test_suite['name'] == suite][0]
            target_test = [selected_test for selected_test in target_suite['tests'] if selected_test['name'] == test][0]
            new_item = {
                'date': report['start_time'],
                'status': target_test['result'],
                'report_id': str(report['_id'])
            }
            if 'message' in target_test:
                new_item['message'] = target_test['message']
                new_item['stack_trace'] = target_test['stack_trace']
            result.append(new_item)

        result = sorted(result, reverse=True, key=itemgetter('date'))
        for item in result:
            item['date'] = item['date'].strftime("%Y-%m-%d %H:%M:%S").__str__()

        return result, 200
Beispiel #2
0
class Reports(Resource):
    def __init__(self):
        self.report_service = ReportService()

    def get(self, target: str):
        try:
            result = list(
                self.report_service.find_all_reports({'target': target},
                                                     {'suits': 0}))
        except InvalidId:
            return {'message': 'Invalid report id is provided.'}, 400
        if result:
            return json.loads(json.dumps(result,
                                         default=json_util.default)), 200
        return {'Message': "Requested report was not found!"}, 404