runner-runtime 1.0.47 → 1.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/events/api.js +208 -198
- package/events/index.js +85 -84
- package/events/wait.js +30 -19
- package/index.js +3 -8
- package/libs/utils.js +101 -132
- package/package.json +2 -2
- package/tmp/request.js +198 -105
package/events/api.js
CHANGED
|
@@ -9,7 +9,7 @@ const FileType = require("file-type"),
|
|
|
9
9
|
tough = require("tough-cookie"),
|
|
10
10
|
Buffer = require("buffer/").Buffer,
|
|
11
11
|
isImage = require("is-image");
|
|
12
|
-
const { getAPIFromCollection, smartUrlJoin, jsfGenerate, replace2RegExp, getParentTargetIDs, encodeURIComponentUnique, base64toCacheFile, getInsideVariables, getCaseInsensitive, camelCaseToSnakeCase } = require('../libs/utils'),
|
|
12
|
+
const { getAPIFromCollection, smartUrlJoin, jsfGenerate, replace2RegExp, getParentTargetIDs, encodeURIComponentUnique, base64toCacheFile, getInsideVariables, convertEndRuntimeState, getCaseInsensitive, camelCaseToSnakeCase } = require('../libs/utils'),
|
|
13
13
|
{ generateHarFromRequest } = require('../libs/2har'),
|
|
14
14
|
|
|
15
15
|
_ = require('lodash');
|
|
@@ -22,7 +22,6 @@ const { v4: uuidv4 } = require("uuid");
|
|
|
22
22
|
const fs = require("fs");
|
|
23
23
|
const { minimatch } = require("minimatch");
|
|
24
24
|
const runtime = require("postman-runtime-pro");
|
|
25
|
-
const { error } = require("console");
|
|
26
25
|
|
|
27
26
|
// 将api转postman请求参数
|
|
28
27
|
const convert2PostmanRequest = (request, option) => {
|
|
@@ -38,8 +37,6 @@ const convert2PostmanRequest = (request, option) => {
|
|
|
38
37
|
}
|
|
39
38
|
};
|
|
40
39
|
|
|
41
|
-
const { lang } = option;
|
|
42
|
-
|
|
43
40
|
// 处理 url
|
|
44
41
|
const raw = autoReplaceMockVar(_.get(request, "request.url") || _.get(request, "url"));
|
|
45
42
|
const uri = new Url(raw);
|
|
@@ -423,7 +420,7 @@ const convert2PostmanRequest = (request, option) => {
|
|
|
423
420
|
}
|
|
424
421
|
}
|
|
425
422
|
}
|
|
426
|
-
} catch (e) {}
|
|
423
|
+
} catch (e) { }
|
|
427
424
|
|
|
428
425
|
// 处理body
|
|
429
426
|
const body = {};
|
|
@@ -597,7 +594,7 @@ const convert2PostmanOptions = (request, option, variables) => {
|
|
|
597
594
|
const globals = new sdk.VariableScope({
|
|
598
595
|
values: globalsVariables,
|
|
599
596
|
});
|
|
600
|
-
|
|
597
|
+
|
|
601
598
|
const requester = {
|
|
602
599
|
strictSSL: false,
|
|
603
600
|
protocolVersion: requestJson?.protocol == 'http/1.1' ? 'http1' : 'http2',
|
|
@@ -1142,11 +1139,11 @@ const convert2PostmanEvent = (request, listen, option) => {
|
|
|
1142
1139
|
exec = `${exec}
|
|
1143
1140
|
! await (async function(){
|
|
1144
1141
|
const dbData = ${JSON.stringify(item.data || { query: '' })}
|
|
1145
|
-
const query = pm.variables.replaceIn(
|
|
1146
|
-
const method = pm.variables.replaceIn(
|
|
1142
|
+
const query = pm.variables.replaceIn(lodashv4.get(dbData, "query"));
|
|
1143
|
+
const method = pm.variables.replaceIn(lodashv4.get(dbData, "method") || "");
|
|
1147
1144
|
|
|
1148
1145
|
try{
|
|
1149
|
-
let dbResultList = await pm.queryDatabase(
|
|
1146
|
+
let dbResultList = await pm.queryDatabase(lodashv4.assign(${dbconfig},{
|
|
1150
1147
|
method:method,
|
|
1151
1148
|
query:query
|
|
1152
1149
|
}));
|
|
@@ -1157,14 +1154,14 @@ const convert2PostmanEvent = (request, listen, option) => {
|
|
|
1157
1154
|
if(${item.data?.isConsoleOutput} > 0){
|
|
1158
1155
|
console.log(query, result)
|
|
1159
1156
|
}
|
|
1160
|
-
if(
|
|
1161
|
-
|
|
1162
|
-
let extra_value = jsonpath.value(result,
|
|
1157
|
+
if(lodashv4.isObject(result)){
|
|
1158
|
+
lodashv4.forEach(${JSON.stringify(item.data?.variables || [])}, (item) => {
|
|
1159
|
+
let extra_value = jsonpath.value(result, lodashv4.trim(item?.pattern));
|
|
1163
1160
|
pm[item?.type].set(item?.name, extra_value);
|
|
1164
1161
|
});
|
|
1165
1162
|
}else{
|
|
1166
|
-
if(!
|
|
1167
|
-
|
|
1163
|
+
if(!lodashv4.isObject(result)){
|
|
1164
|
+
lodashv4.forEach(${JSON.stringify(item.data?.variables || [])}, (item) => {
|
|
1168
1165
|
let extra_value = result;
|
|
1169
1166
|
pm[item?.type].set(item?.name, extra_value);
|
|
1170
1167
|
});
|
|
@@ -2127,7 +2124,7 @@ const initRequestJson = (event, option) => {
|
|
|
2127
2124
|
// module exports
|
|
2128
2125
|
module.exports = (event, option, callback, eventRuntimeData, eventResultList) => {
|
|
2129
2126
|
const { scene } = option;
|
|
2130
|
-
return new Promise((resolve) => {
|
|
2127
|
+
return new Promise((resolve, reject) => {
|
|
2131
2128
|
try {
|
|
2132
2129
|
const { requestJson, postmanJSON } = initRequestJson(event, option)
|
|
2133
2130
|
|
|
@@ -2152,131 +2149,65 @@ module.exports = (event, option, callback, eventRuntimeData, eventResultList) =>
|
|
|
2152
2149
|
item: [collection]
|
|
2153
2150
|
}), options, (err, run) => {
|
|
2154
2151
|
if (err) {
|
|
2155
|
-
|
|
2152
|
+
reject({
|
|
2156
2153
|
action: 'stystemError',
|
|
2157
2154
|
message: String(err),
|
|
2158
|
-
|
|
2159
|
-
})
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2155
|
+
event_id: event?.event_id
|
|
2156
|
+
});
|
|
2157
|
+
} else {
|
|
2158
|
+
run.start({
|
|
2159
|
+
// script error
|
|
2160
|
+
exception(cursor, err) {
|
|
2161
|
+
if (err) {
|
|
2162
|
+
if (!_.includes(['assert_visual', 'assert'], event?.type)) {
|
|
2163
|
+
const scriptType = _.get(cursor, cursor?.scriptId);
|
|
2164
|
+
_.set(eventRuntimeData, [event?.event_id, "exception", scriptType], err);
|
|
2165
|
+
_.set(eventRuntimeData, [event?.event_id, 'error'], {
|
|
2166
|
+
error_type: scriptType,
|
|
2167
|
+
message: err?.message
|
|
2168
|
+
})
|
|
2169
|
+
if (scriptType === 'prerequest') {
|
|
2170
|
+
run.abort();
|
|
2171
|
+
}
|
|
2175
2172
|
}
|
|
2176
2173
|
}
|
|
2177
|
-
}
|
|
2178
|
-
},
|
|
2179
|
-
|
|
2180
|
-
// script print
|
|
2181
|
-
console(cursor, level, ...args) {
|
|
2182
|
-
if (_.isUndefined(_.get(eventRuntimeData, [event?.event_id, "console"]))) {
|
|
2183
|
-
_.set(eventRuntimeData, [event?.event_id, "console"], []);
|
|
2184
|
-
}
|
|
2185
|
-
|
|
2186
|
-
eventRuntimeData[event?.event_id].console.push({ level, args })
|
|
2187
|
-
},
|
|
2188
|
-
|
|
2189
|
-
// Called just before sending a request
|
|
2190
|
-
beforeRequest(err, cursor, request, item) {
|
|
2191
|
-
const AllVars = getInsideVariables();
|
|
2192
|
-
["variables", "globals", "environment"].forEach((varName) => {
|
|
2193
|
-
_.assign(AllVars, _.get(eventRuntimeData, `variables.${varName}`))
|
|
2194
|
-
})
|
|
2195
|
-
preProcessMockExp(request, postmanJSON, AllVars, _.pick(option, ['lang', 'custom_functions']))
|
|
2196
|
-
},
|
|
2197
|
-
|
|
2198
|
-
beforePrerequest(err, cursor, events, item) {
|
|
2199
|
-
if (!err) {
|
|
2200
|
-
const pmEvent = convert2PostmanEvent({ requestJson, postmanJSON }, "prerequest", option);
|
|
2201
|
-
|
|
2202
|
-
_.forEach(pmEvent, (event) => {
|
|
2203
|
-
const script = new PostmanEvent(event);
|
|
2204
|
-
events.push(script);
|
|
2205
|
-
_.set(cursor, script?.script?.id, script?.listen);
|
|
2206
|
-
});
|
|
2207
|
-
}
|
|
2208
|
-
},
|
|
2209
|
-
|
|
2210
|
-
prerequest(err, cursor, results, item) {
|
|
2211
|
-
if (!err) {
|
|
2212
|
-
_.forEach(results, (result) => {
|
|
2213
|
-
_.forEach(['_variables', 'environment', 'globals'], (varType) => {
|
|
2214
|
-
const currentVar = _.get(result, `result.${varType}`);
|
|
2215
|
-
try {
|
|
2216
|
-
_.forEach(currentVar.toObject(), (val, key) => {
|
|
2217
|
-
let setPath = varType;
|
|
2218
|
-
if (varType === '_variables') {
|
|
2219
|
-
setPath = 'variables';
|
|
2220
|
-
}
|
|
2174
|
+
},
|
|
2221
2175
|
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2176
|
+
// script print
|
|
2177
|
+
console(cursor, level, ...args) {
|
|
2178
|
+
if (_.isUndefined(_.get(eventRuntimeData, [event?.event_id, "console"]))) {
|
|
2179
|
+
_.set(eventRuntimeData, [event?.event_id, "console"], []);
|
|
2180
|
+
}
|
|
2181
|
+
const time = Date.now()
|
|
2182
|
+
eventRuntimeData[event?.event_id].console.push({ time, level, args })
|
|
2183
|
+
},
|
|
2184
|
+
|
|
2185
|
+
// Called just before sending a request
|
|
2186
|
+
beforeRequest(err, cursor, request, item) {
|
|
2187
|
+
const AllVars = getInsideVariables();
|
|
2188
|
+
["globals", "environment", "variables"].forEach((varName) => {
|
|
2189
|
+
_.assign(AllVars, _.get(eventRuntimeData, `variables.${varName}`))
|
|
2229
2190
|
})
|
|
2230
|
-
|
|
2231
|
-
|
|
2191
|
+
preProcessMockExp(request, postmanJSON, AllVars, _.pick(option, ['lang', 'custom_functions']))
|
|
2192
|
+
},
|
|
2232
2193
|
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
_.set(eventRuntimeData, [event?.event_id, "response"], await convert2EchoResponse(response, history));
|
|
2237
|
-
}
|
|
2238
|
-
} else {
|
|
2239
|
-
if (!_.includes(['script', 'sql', 'assert_visual', 'assert'], event?.type)) {
|
|
2240
|
-
_.set(eventRuntimeData, [event?.event_id, "exception", 'prerequest'], String(err));
|
|
2241
|
-
_.set(eventRuntimeData, [event?.event_id, 'error'], {
|
|
2242
|
-
error_type: 'prerequest',
|
|
2243
|
-
message: String(err)
|
|
2244
|
-
})
|
|
2245
|
-
}
|
|
2246
|
-
}
|
|
2247
|
-
// console.log(String(request?.url), 111111)
|
|
2248
|
-
const requestOptions = convert2EchoRequest(request, requestJson, postmanJSON, history);
|
|
2249
|
-
_.set(eventRuntimeData, [event?.event_id, "request"], requestOptions);
|
|
2250
|
-
|
|
2251
|
-
if (_.includes(['get_parsed_request'], scene)) {
|
|
2252
|
-
resolve(generateHarFromRequest(request));
|
|
2253
|
-
try {
|
|
2254
|
-
run.abort();
|
|
2255
|
-
} catch (e) { }
|
|
2256
|
-
}
|
|
2257
|
-
},
|
|
2194
|
+
beforePrerequest(err, cursor, events, item) {
|
|
2195
|
+
if (!err) {
|
|
2196
|
+
const pmEvent = convert2PostmanEvent({ requestJson, postmanJSON }, "prerequest", option);
|
|
2258
2197
|
|
|
2259
|
-
beforeTest(err, cursor, events, item) {
|
|
2260
|
-
if (!err) {
|
|
2261
|
-
if (!_.includes(['get_parsed_request'], scene)) {
|
|
2262
|
-
const pmEvent = convert2PostmanEvent({ requestJson, postmanJSON }, "test", option);
|
|
2263
2198
|
_.forEach(pmEvent, (event) => {
|
|
2264
2199
|
const script = new PostmanEvent(event);
|
|
2265
2200
|
events.push(script);
|
|
2266
2201
|
_.set(cursor, script?.script?.id, script?.listen);
|
|
2267
2202
|
});
|
|
2268
2203
|
}
|
|
2269
|
-
}
|
|
2270
|
-
},
|
|
2271
|
-
|
|
2272
|
-
test(err, cursor, results, item) {
|
|
2273
|
-
if (!err) {
|
|
2274
|
-
if (!_.includes(['get_parsed_request'], scene)) {
|
|
2204
|
+
},
|
|
2275
2205
|
|
|
2206
|
+
prerequest(err, cursor, results, item) {
|
|
2207
|
+
if (!err) {
|
|
2276
2208
|
_.forEach(results, (result) => {
|
|
2277
2209
|
_.forEach(['_variables', 'environment', 'globals'], (varType) => {
|
|
2278
2210
|
const currentVar = _.get(result, `result.${varType}`);
|
|
2279
|
-
|
|
2280
2211
|
try {
|
|
2281
2212
|
_.forEach(currentVar.toObject(), (val, key) => {
|
|
2282
2213
|
let setPath = varType;
|
|
@@ -2293,104 +2224,183 @@ module.exports = (event, option, callback, eventRuntimeData, eventResultList) =>
|
|
|
2293
2224
|
})
|
|
2294
2225
|
})
|
|
2295
2226
|
}
|
|
2296
|
-
}
|
|
2297
|
-
},
|
|
2227
|
+
},
|
|
2298
2228
|
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2229
|
+
response: async (err, cursor, response, request, item, cookies, history) => {
|
|
2230
|
+
if (!err) {
|
|
2231
|
+
if (!_.includes(['get_parsed_request'], scene)) {
|
|
2232
|
+
_.set(eventRuntimeData, [event?.event_id, "response"], await convert2EchoResponse(response, history));
|
|
2233
|
+
}
|
|
2234
|
+
} else {
|
|
2235
|
+
if (!_.includes(['script', 'sql', 'assert_visual', 'assert'], event?.type)) {
|
|
2236
|
+
_.set(eventRuntimeData, [event?.event_id, "exception", 'prerequest'], String(err));
|
|
2237
|
+
_.set(eventRuntimeData, [event?.event_id, 'error'], {
|
|
2238
|
+
error_type: 'prerequest',
|
|
2239
|
+
message: String(err)
|
|
2240
|
+
})
|
|
2304
2241
|
}
|
|
2305
|
-
|
|
2306
|
-
eventRuntimeData[event?.event_id].assertions = _.unionWith(_.concat(_.get(eventRuntimeData, [event?.event_id, "assertions"]), assertions), _.isEqual);
|
|
2307
2242
|
}
|
|
2308
|
-
}
|
|
2309
|
-
},
|
|
2310
2243
|
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
const { error, processed_template } = visualizer;
|
|
2314
|
-
_.set(eventRuntimeData[event?.event_id], "visualizer", { error, processed_template });
|
|
2315
|
-
} else {
|
|
2316
|
-
_.set(eventRuntimeData[event?.event_id], "visualizer", { error: null, processed_template: "" });
|
|
2317
|
-
}
|
|
2318
|
-
},
|
|
2244
|
+
const requestOptions = convert2EchoRequest(request, requestJson, postmanJSON, history);
|
|
2245
|
+
_.set(eventRuntimeData, [event?.event_id, "request"], requestOptions);
|
|
2319
2246
|
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
msg: "success",
|
|
2329
|
-
error: null,
|
|
2330
|
-
})
|
|
2331
|
-
},
|
|
2247
|
+
if (_.includes(['get_parsed_request'], scene)) {
|
|
2248
|
+
callback(generateHarFromRequest(request));
|
|
2249
|
+
try {
|
|
2250
|
+
run.abort();
|
|
2251
|
+
} catch (e) { }
|
|
2252
|
+
resolve();
|
|
2253
|
+
}
|
|
2254
|
+
},
|
|
2332
2255
|
|
|
2333
|
-
|
|
2334
|
-
if (!_.includes(['get_parsed_request'], scene)) {
|
|
2256
|
+
beforeTest(err, cursor, events, item) {
|
|
2335
2257
|
if (!err) {
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2258
|
+
if (!_.includes(['get_parsed_request'], scene)) {
|
|
2259
|
+
const pmEvent = convert2PostmanEvent({ requestJson, postmanJSON }, "test", option);
|
|
2260
|
+
_.forEach(pmEvent, (event) => {
|
|
2261
|
+
const script = new PostmanEvent(event);
|
|
2262
|
+
events.push(script);
|
|
2263
|
+
_.set(cursor, script?.script?.id, script?.listen);
|
|
2264
|
+
});
|
|
2265
|
+
}
|
|
2266
|
+
}
|
|
2267
|
+
},
|
|
2339
2268
|
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2269
|
+
test(err, cursor, results, item) {
|
|
2270
|
+
if (!err) {
|
|
2271
|
+
if (!_.includes(['get_parsed_request'], scene)) {
|
|
2272
|
+
|
|
2273
|
+
_.forEach(results, (result) => {
|
|
2274
|
+
_.forEach(['_variables', 'environment', 'globals'], (varType) => {
|
|
2275
|
+
const currentVar = _.get(result, `result.${varType}`);
|
|
2276
|
+
|
|
2277
|
+
try {
|
|
2278
|
+
_.forEach(currentVar.toObject(), (val, key) => {
|
|
2279
|
+
let setPath = varType;
|
|
2280
|
+
if (varType === '_variables') {
|
|
2281
|
+
setPath = 'variables';
|
|
2282
|
+
}
|
|
2283
|
+
|
|
2284
|
+
if (varType === 'globals' && !_.includes(_.keys(getInsideVariables()), key)) {
|
|
2285
|
+
_.set(eventRuntimeData, ["variables", '_globals', key], val)
|
|
2286
|
+
}
|
|
2287
|
+
_.set(eventRuntimeData, ["variables", setPath, key], val)
|
|
2288
|
+
})
|
|
2289
|
+
} catch (e) { }
|
|
2290
|
+
})
|
|
2291
|
+
})
|
|
2292
|
+
}
|
|
2345
2293
|
}
|
|
2294
|
+
},
|
|
2346
2295
|
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
type: 'request',
|
|
2356
|
-
data: _.assign(
|
|
2357
|
-
{
|
|
2358
|
-
variables: {
|
|
2359
|
-
globals: _.get(tempVars, '_globals', {}),
|
|
2360
|
-
environment: _.get(tempVars, 'environment', {})
|
|
2361
|
-
}
|
|
2362
|
-
},
|
|
2363
|
-
_.omit(_.cloneDeep(toLowerResponseJson), ['error'])
|
|
2364
|
-
),
|
|
2365
|
-
event_id: event?.event_id,
|
|
2296
|
+
assertion(cursor, assertions) {
|
|
2297
|
+
if (!_.includes(['get_parsed_request'], scene)) {
|
|
2298
|
+
if (!_.isEmpty(assertions) && _.isArray(assertions)) {
|
|
2299
|
+
if (_.isUndefined(_.get(eventRuntimeData, [event?.event_id, "assertions"]))) {
|
|
2300
|
+
_.set(eventRuntimeData, [event?.event_id, "assertions"], []);
|
|
2301
|
+
}
|
|
2302
|
+
|
|
2303
|
+
eventRuntimeData[event?.event_id].assertions = _.unionWith(_.concat(_.get(eventRuntimeData, [event?.event_id, "assertions"]), assertions), _.isEqual);
|
|
2366
2304
|
}
|
|
2367
|
-
|
|
2305
|
+
}
|
|
2306
|
+
},
|
|
2368
2307
|
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2308
|
+
item(err, cursor, item, visualizer, result) {
|
|
2309
|
+
if (!err && _.isObject(visualizer)) {
|
|
2310
|
+
const { error, processed_template } = visualizer;
|
|
2311
|
+
_.set(eventRuntimeData[event?.event_id], "visualizer", { error, processed_template });
|
|
2312
|
+
} else {
|
|
2313
|
+
_.set(eventRuntimeData[event?.event_id], "visualizer", { error: null, processed_template: "" });
|
|
2314
|
+
}
|
|
2315
|
+
},
|
|
2316
|
+
|
|
2317
|
+
responseData(cursor, data) {
|
|
2318
|
+
callback({
|
|
2319
|
+
action: "sse",
|
|
2320
|
+
data: {
|
|
2321
|
+
stream: data,
|
|
2322
|
+
size: _.size(data),
|
|
2323
|
+
time: Date.now()
|
|
2324
|
+
},
|
|
2325
|
+
msg: "success",
|
|
2326
|
+
error: null,
|
|
2327
|
+
})
|
|
2328
|
+
},
|
|
2372
2329
|
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2330
|
+
done(err, summary) {
|
|
2331
|
+
if (!_.includes(['get_parsed_request'], scene)) {
|
|
2332
|
+
if (!err) {
|
|
2333
|
+
const success_assert = _.filter(_.get(eventRuntimeData, [event?.event_id, "assertions"]), (item) => {
|
|
2334
|
+
return item?.passed === false
|
|
2378
2335
|
})
|
|
2336
|
+
|
|
2337
|
+
_.set(eventRuntimeData, [event?.event_id, "status"], {
|
|
2338
|
+
assert: _.get(eventRuntimeData, [event?.event_id, "assertions"], []),
|
|
2339
|
+
success_assert,
|
|
2340
|
+
http: _.get(eventRuntimeData, [event?.event_id, 'response', 'status']) || _.get(eventRuntimeData, [event?.event_id, 'error', 'message'])
|
|
2341
|
+
});
|
|
2342
|
+
}
|
|
2343
|
+
|
|
2344
|
+
// 返回结果
|
|
2345
|
+
try {
|
|
2346
|
+
const runtimeState = convertEndRuntimeState(eventRuntimeData, event?.event_id) || {}
|
|
2347
|
+
const tempVars = _.pick(_.get(eventRuntimeData, 'variables'), ['environment', '_globals']);
|
|
2348
|
+
const toLowerResponseJson = _.assign(camelCaseToSnakeCase(_.get(eventRuntimeData, event?.event_id)), _.pick(runtimeState, ['startTime', 'endTime', 'currentVariables']));
|
|
2349
|
+
const finalRequestResult = _.assign(
|
|
2350
|
+
_.pick(requestJson, ['parent_id', 'project_id', 'test_id', 'target_id']),
|
|
2351
|
+
_.defaults(_.pick(toLowerResponseJson, ['error', 'iteration_id', 'startTime', 'endTime', 'currentVariables']), { error: null }),
|
|
2352
|
+
{
|
|
2353
|
+
action: 'request',
|
|
2354
|
+
// type: 'request',
|
|
2355
|
+
type: event?.type,
|
|
2356
|
+
data: _.assign(
|
|
2357
|
+
{
|
|
2358
|
+
variables: {
|
|
2359
|
+
globals: _.get(tempVars, '_globals', {}),
|
|
2360
|
+
environment: _.get(tempVars, 'environment', {})
|
|
2361
|
+
}
|
|
2362
|
+
},
|
|
2363
|
+
_.omit(_.cloneDeep(toLowerResponseJson), ['error'])
|
|
2364
|
+
),
|
|
2365
|
+
event_id: event?.event_id,
|
|
2366
|
+
}
|
|
2367
|
+
);
|
|
2368
|
+
|
|
2369
|
+
if (scene === 'auto_test') {
|
|
2370
|
+
if (_.includes(['assert', 'assert_visual', 'api', 'sample', 'script'], event?.type)) {
|
|
2371
|
+
eventResultList.push(_.assign(camelCaseToSnakeCase(_.get(_.cloneDeep(eventRuntimeData), event?.event_id)), _.pick(event, ['type', 'event_id', 'test_id', 'iteration_id'])));
|
|
2372
|
+
|
|
2373
|
+
callback({
|
|
2374
|
+
action: 'request',
|
|
2375
|
+
data: _.assign(finalRequestResult, {
|
|
2376
|
+
type: 'request'
|
|
2377
|
+
})
|
|
2378
|
+
})
|
|
2379
|
+
}
|
|
2380
|
+
} else {
|
|
2381
|
+
callback(finalRequestResult);
|
|
2382
|
+
}
|
|
2383
|
+
} catch (e) {
|
|
2384
|
+
reject({
|
|
2385
|
+
action: 'stystemError',
|
|
2386
|
+
message: String(e),
|
|
2387
|
+
event_id: event?.event_id
|
|
2388
|
+
});
|
|
2379
2389
|
}
|
|
2380
|
-
} else {
|
|
2381
|
-
resolve(finalRequestResult)
|
|
2382
2390
|
}
|
|
2391
|
+
|
|
2392
|
+
resolve();
|
|
2383
2393
|
}
|
|
2384
|
-
}
|
|
2385
|
-
}
|
|
2394
|
+
})
|
|
2395
|
+
}
|
|
2386
2396
|
}
|
|
2387
2397
|
);
|
|
2388
2398
|
} catch (e) {
|
|
2389
|
-
|
|
2399
|
+
reject({
|
|
2390
2400
|
action: 'stystemError',
|
|
2391
2401
|
message: String(e),
|
|
2392
|
-
|
|
2393
|
-
})
|
|
2402
|
+
event_id: event?.event_id
|
|
2403
|
+
});
|
|
2394
2404
|
}
|
|
2395
2405
|
});
|
|
2396
2406
|
}
|