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
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