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

Method handleTest

server/controllers/open.js:299–365  ·  view source on GitHub ↗
(interfaceData)

Source from the content-addressed store, hash-verified

297 }
298
299 async handleTest(interfaceData) {
300 let requestParams = {};
301 let options;
302 options = handleParams(interfaceData, this.handleValue, requestParams);
303 let result = {
304 id: interfaceData.id,
305 name: interfaceData.casename,
306 path: interfaceData.path,
307 code: 400,
308 validRes: []
309 };
310 try {
311 options.taskId = this.getUid();
312 let data = await crossRequest(options, interfaceData.pre_script, interfaceData.after_script,createContex(
313 this.getUid(),
314 interfaceData.project_id,
315 interfaceData.interface_id
316 ));
317 let res = data.res;
318
319 result = Object.assign(result, {
320 status: res.status,
321 statusText: res.statusText,
322 url: data.req.url,
323 method: data.req.method,
324 data: data.req.data,
325 headers: data.req.headers,
326 res_header: res.header,
327 res_body: res.body
328 });
329 if (options.data && typeof options.data === 'object') {
330 requestParams = Object.assign(requestParams, options.data);
331 }
332
333 let validRes = [];
334
335 let responseData = Object.assign(
336 {},
337 {
338 status: res.status,
339 body: res.body,
340 header: res.header,
341 statusText: res.statusText
342 }
343 );
344
345 await this.handleScriptTest(interfaceData, responseData, validRes, requestParams);
346 result.params = requestParams;
347 if (validRes.length === 0) {
348 result.code = 0;
349 result.validRes = [{ message: '验证通过' }];
350 } else if (validRes.length > 0) {
351 result.code = 1;
352 result.validRes = validRes;
353 }
354 } catch (data) {
355 result = Object.assign(options, result, {
356 res_header: data.header,

Callers 3

runAutoTestMethod · 0.95
tFunction · 0.80

Calls 4

handleScriptTestMethod · 0.95
crossRequestFunction · 0.85
handleParamsFunction · 0.50
getUidMethod · 0.45

Tested by

no test coverage detected