MCPcopy
hub / github.com/YMFE/yapi / runAutoTest

Method runAutoTest

server/controllers/open.js:176–297  ·  view source on GitHub ↗
(ctx)

Source from the content-addressed store, hash-verified

174 return result;
175 }
176 async runAutoTest(ctx) {
177 if (!this.$tokenAuth) {
178 return (ctx.body = yapi.commons.resReturn(null, 40022, 'token 验证失败'));
179 }
180 // console.log(1231312)
181 const token = ctx.query.token;
182
183 const projectId = ctx.params.project_id;
184 const startTime = new Date().getTime();
185 const records = (this.records = {});
186 const reports = (this.reports = {});
187 const testList = [];
188 let id = ctx.params.id;
189 let curEnvList = this.handleEvnParams(ctx.params);
190
191 let colData = await this.interfaceColModel.get(id);
192 if (!colData) {
193 return (ctx.body = yapi.commons.resReturn(null, 40022, 'id值不存在'));
194 }
195
196 let projectData = await this.projectModel.get(projectId);
197
198 let caseList = await yapi.commons.getCaseList(id);
199 if (caseList.errcode !== 0) {
200 ctx.body = caseList;
201 }
202 caseList = caseList.data;
203 for (let i = 0, l = caseList.length; i < l; i++) {
204 let item = caseList[i];
205 let projectEvn = await this.projectModel.getByEnv(item.project_id);
206
207 item.id = item._id;
208 let curEnvItem = _.find(curEnvList, key => {
209 return key.project_id == item.project_id;
210 });
211
212 item.case_env = curEnvItem ? curEnvItem.curEnv || item.case_env : item.case_env;
213 item.req_headers = this.handleReqHeader(item.req_headers, projectEvn.env, item.case_env);
214 item.pre_script = projectData.pre_script;
215 item.after_script = projectData.after_script;
216 item.env = projectEvn.env;
217 let result;
218 // console.log('item',item.case_env)
219 try {
220 result = await this.handleTest(item);
221 } catch (err) {
222 result = err;
223 }
224
225 reports[item.id] = result;
226 records[item.id] = {
227 params: result.params,
228 body: result.res_body
229 };
230 testList.push(result);
231 }
232
233 function getMessage(testList) {

Callers

nothing calls this directly

Calls 6

handleEvnParamsMethod · 0.95
handleReqHeaderMethod · 0.95
handleTestMethod · 0.95
getCaseListMethod · 0.80
getByEnvMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected