Ejemplo n.º 1
0
    def save(self, context, details, logger):
        """
        :param context:
        :param details:
        :param logger:
        """
        if hasattr(context.submit, 'report') and context.submit.report:
            name = context.submit.report
        elif hasattr(context.submit, 'name') and context.submit.name:
            name = context.submit.name
        else:
            name = 'Clover测试平台报告'
        end = datetime.datetime.now()

        report = {
            'team': context.submit.team,
            'project': context.submit.project,
            'name': name,
            'type': 'interface',
            'platform': get_system_info(),
            'start': friendly_datetime(self.start),
            'end': friendly_datetime(end),
            'duration': (end - self.start).total_seconds(),
            'interface': self.get_interface_statistics(details),
            'detail': details,
            'log': self.get_log(context, logger),
        }

        service = ReportService()
        result = service.create(report)
        return result
Ejemplo n.º 2
0
 def info(self):
     """
     :param data:
     :return:
     """
     info = {
         **get_system_info(),
         'python-dependency': get_python_dependency()
     }
     return jsonify({
         'status': 0,
         'message': 'clover平台版本与依赖信息。',
         'data': info
     })
Ejemplo n.º 3
0
 def info(self):
     """
     :param data:
     :return:
     """
     try:
         info = {
             **get_system_info(), 'python-dependency':
             get_python_dependency()
         }
         return jsonify({
             'status': 0,
             'message': 'clover平台版本与依赖信息。',
             'data': info
         })
     except Exception as error:
         return jsonify({
             'status': 500,
             'message': '运行出错,请联系管理员!',
             'data': str(error)
         })
Ejemplo n.º 4
0
def interface_task(cases, data, report):
    from clover import app

    with app.test_request_context():

        executor = Executor(log=report['id'])
        executor.execute(cases, data)
        try:
            if 'report' in data and data['report']:  #正常传了report,平台触发的
                name = data['report']
            elif data['report'] == '' and data[
                    'name'] != '':  #没写report名,但是有套件名,平台触发的
                name = data['name']
        except Exception as error:
            name = 'ci-AutoTest'
        #name = data['report'] if 'report' in data and data['report'] else data['name']
        update_report = {
            'id': report['id'],
            'team': data['team'],
            'project': data['project'],
            'name': name,
            'type': 'interface',
            'interface': executor.interface,
            'start': executor.start,
            'end': executor.end,
            'duration': (executor.end - executor.start).total_seconds(),
            'platform': get_system_info(),
            'detail': executor.result,
        }
        report_service = ReportService()
        report_service.update(update_report)

        events = 'success' if executor.interface[
            'passed'] == executor.interface['total'] else 'failed'
        notify(update_report, events)

    return report