Merge branch 'dev-rewrite' of gitlab.corp.qunar.com:mfe/yapi into dev-rewrite

This commit is contained in:
gaoxiaolin.gao 2018-02-11 11:15:00 +08:00
commit 4b7934a1fb
2 changed files with 24 additions and 6 deletions

View File

@ -5,8 +5,8 @@ const interfaceModel = require('../models/interface.js');
const yapi = require('../yapi.js');
const baseController = require('./base.js');
const { handleParams, crossRequest, handleCurrDomain, checkNameIsExistInArray } = require('../../common/postmanLib')
const {handleParamsValue, json_parse} = require('../../common/utils.js')
const {handleParamsValue} = require('../../common/utils.js')
const renderToHtml = require('../utils/reportHtml')
class openController extends baseController{
constructor(ctx){
@ -19,7 +19,12 @@ class openController extends baseController{
this.schemaMap = {
runAutoTest: {
'*id': 'number',
'env_name': 'string'
'env_name': 'string',
'token': 'string',
'mode' : {
type: 'string',
default: 'html'
}
}
}
}
@ -37,6 +42,7 @@ class openController extends baseController{
}
async runAutoTest(ctx){
const startTime = new Date().getTime();
const records = this.records = {};
const reports = this.reports = {};
const testList = []
@ -88,11 +94,20 @@ class openController extends baseController{
return `一共 ${len} 测试用例,${successNum} 个验证通过, ${failedNum} 个未通过。`
}
ctx.body = {
const endTime = new Date().getTime();
const executionTime = (endTime - startTime)/1000;
let reportsResult = {
message: getMessage(testList),
caseNumber: testList.length,
runTime: executionTime + 's',
numbs: testList.length,
list: testList
}
if(ctx.params.mode === 'json'){
return ctx.body = reportsResult
}else{
return ctx.body = renderToHtml(reportsResult)
}
}
async handleTest(interfaceData){
@ -101,6 +116,8 @@ class openController extends baseController{
options = handleParams(interfaceData, this.handleValue, requestParams)
let result = {
id: interfaceData.id,
name: interfaceData.title,
path: interfaceData.path,
code: 400,
validRes: []
};
@ -114,7 +131,7 @@ class openController extends baseController{
status: res.status,
statusText: res.statusText,
url: data.req.url,
method: data.req.url,
method: data.req.method,
data: data.req.data,
headers: data.req.headers,
res_header: res.header,

View File

@ -429,6 +429,7 @@ function handleParamsValue (params, val){
let projectData = await projectInst.getBaseInfo(data.project_id);
result.path = projectData.basepath + data.path;
result.method = data.method;
result.title = data.title;
result.req_body_type = data.req_body_type;
result.req_headers = handleParamsValue(data.req_headers, result.req_headers);
result.res_body_type = data.res_body_type;