@redocly/respect-core 0.0.0-snapshot.1739981736 → 0.0.0-snapshot.1740152436
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/lib/handlers/generate.d.ts +7 -2
- package/lib/handlers/generate.d.ts.map +1 -1
- package/lib/handlers/generate.js +14 -8
- package/lib/handlers/generate.js.map +1 -1
- package/lib/handlers/run.d.ts +2 -9
- package/lib/handlers/run.d.ts.map +1 -1
- package/lib/handlers/run.js +33 -14
- package/lib/handlers/run.js.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/modules/arazzo-description-generator/cleanup-test-description.d.ts.map +1 -0
- package/lib/modules/arazzo-description-generator/cleanup-test-description.js.map +1 -0
- package/lib/modules/arazzo-description-generator/generate-arazzo-description.d.ts +7 -0
- package/lib/modules/arazzo-description-generator/generate-arazzo-description.d.ts.map +1 -0
- package/lib/modules/{test-config-generator/generate-test-config.js → arazzo-description-generator/generate-arazzo-description.js} +5 -8
- package/lib/modules/arazzo-description-generator/generate-arazzo-description.js.map +1 -0
- package/lib/modules/arazzo-description-generator/generate-example-value.d.ts.map +1 -0
- package/lib/modules/arazzo-description-generator/generate-example-value.js.map +1 -0
- package/lib/modules/arazzo-description-generator/generate-test-data-from-json-schema.d.ts.map +1 -0
- package/lib/modules/arazzo-description-generator/generate-test-data-from-json-schema.js.map +1 -0
- package/lib/modules/{test-config-generator → arazzo-description-generator}/index.d.ts +1 -1
- package/lib/modules/arazzo-description-generator/index.d.ts.map +1 -0
- package/lib/modules/{test-config-generator → arazzo-description-generator}/index.js +1 -1
- package/lib/modules/arazzo-description-generator/index.js.map +1 -0
- package/lib/modules/cli-output/calculate-tests-passed.d.ts +2 -2
- package/lib/modules/cli-output/calculate-tests-passed.d.ts.map +1 -1
- package/lib/modules/cli-output/calculate-tests-passed.js +19 -1
- package/lib/modules/cli-output/calculate-tests-passed.js.map +1 -1
- package/lib/modules/cli-output/display-errors.d.ts +2 -2
- package/lib/modules/cli-output/display-errors.d.ts.map +1 -1
- package/lib/modules/cli-output/display-errors.js +13 -2
- package/lib/modules/cli-output/display-errors.js.map +1 -1
- package/lib/modules/cli-output/display-files-summary-table.d.ts +2 -2
- package/lib/modules/cli-output/display-files-summary-table.d.ts.map +1 -1
- package/lib/modules/cli-output/display-files-summary-table.js +1 -1
- package/lib/modules/cli-output/display-files-summary-table.js.map +1 -1
- package/lib/modules/cli-output/display-summary.d.ts +2 -2
- package/lib/modules/cli-output/display-summary.d.ts.map +1 -1
- package/lib/modules/cli-output/display-summary.js.map +1 -1
- package/lib/modules/cli-output/json-logs.d.ts +14 -2
- package/lib/modules/cli-output/json-logs.d.ts.map +1 -1
- package/lib/modules/cli-output/json-logs.js +68 -20
- package/lib/modules/cli-output/json-logs.js.map +1 -1
- package/lib/modules/description-parser/get-request-data-from-openapi.d.ts +1 -0
- package/lib/modules/description-parser/get-request-data-from-openapi.d.ts.map +1 -1
- package/lib/modules/description-parser/get-request-data-from-openapi.js +7 -5
- package/lib/modules/description-parser/get-request-data-from-openapi.js.map +1 -1
- package/lib/modules/flow-runner/call-api-and-analyze-results.d.ts +2 -19
- package/lib/modules/flow-runner/call-api-and-analyze-results.d.ts.map +1 -1
- package/lib/modules/flow-runner/call-api-and-analyze-results.js +30 -37
- package/lib/modules/flow-runner/call-api-and-analyze-results.js.map +1 -1
- package/lib/modules/flow-runner/context/create-test-context.d.ts.map +1 -1
- package/lib/modules/flow-runner/context/create-test-context.js +4 -3
- package/lib/modules/flow-runner/context/create-test-context.js.map +1 -1
- package/lib/modules/flow-runner/get-server-url.d.ts +9 -0
- package/lib/modules/flow-runner/get-server-url.d.ts.map +1 -1
- package/lib/modules/flow-runner/get-server-url.js +22 -9
- package/lib/modules/flow-runner/get-server-url.js.map +1 -1
- package/lib/modules/flow-runner/get-test-description-from-file.d.ts +1 -0
- package/lib/modules/flow-runner/get-test-description-from-file.d.ts.map +1 -1
- package/lib/modules/flow-runner/prepare-request.d.ts.map +1 -1
- package/lib/modules/flow-runner/prepare-request.js +3 -1
- package/lib/modules/flow-runner/prepare-request.js.map +1 -1
- package/lib/modules/flow-runner/run-step.d.ts +2 -4
- package/lib/modules/flow-runner/run-step.d.ts.map +1 -1
- package/lib/modules/flow-runner/run-step.js +57 -57
- package/lib/modules/flow-runner/run-step.js.map +1 -1
- package/lib/modules/flow-runner/runner.d.ts +5 -4
- package/lib/modules/flow-runner/runner.d.ts.map +1 -1
- package/lib/modules/flow-runner/runner.js +51 -57
- package/lib/modules/flow-runner/runner.js.map +1 -1
- package/lib/types.d.ts +60 -34
- package/lib/types.d.ts.map +1 -1
- package/lib/utils/api-fetcher.d.ts.map +1 -1
- package/lib/utils/api-fetcher.js +9 -19
- package/lib/utils/api-fetcher.js.map +1 -1
- package/lib/utils/cli-outputs.d.ts +5 -4
- package/lib/utils/cli-outputs.d.ts.map +1 -1
- package/lib/utils/cli-outputs.js +17 -9
- package/lib/utils/cli-outputs.js.map +1 -1
- package/lib/utils/exit-with-error.d.ts +2 -0
- package/lib/utils/exit-with-error.d.ts.map +1 -0
- package/lib/utils/exit-with-error.js +13 -0
- package/lib/utils/exit-with-error.js.map +1 -0
- package/lib/utils/logger/logger.js +1 -1
- package/lib/utils/logger/logger.js.map +1 -1
- package/lib/utils/mtls/resolve-mtls-certificates.d.ts +1 -1
- package/lib/utils/mtls/resolve-mtls-certificates.d.ts.map +1 -1
- package/lib/utils/mtls/resolve-mtls-certificates.js +10 -7
- package/lib/utils/mtls/resolve-mtls-certificates.js.map +1 -1
- package/package.json +2 -2
- package/lib/modules/test-config-generator/cleanup-test-description.d.ts.map +0 -1
- package/lib/modules/test-config-generator/cleanup-test-description.js.map +0 -1
- package/lib/modules/test-config-generator/generate-example-value.d.ts.map +0 -1
- package/lib/modules/test-config-generator/generate-example-value.js.map +0 -1
- package/lib/modules/test-config-generator/generate-test-config.d.ts +0 -7
- package/lib/modules/test-config-generator/generate-test-config.d.ts.map +0 -1
- package/lib/modules/test-config-generator/generate-test-config.js.map +0 -1
- package/lib/modules/test-config-generator/generate-test-data-from-json-schema.d.ts.map +0 -1
- package/lib/modules/test-config-generator/generate-test-data-from-json-schema.js.map +0 -1
- package/lib/modules/test-config-generator/index.d.ts.map +0 -1
- package/lib/modules/test-config-generator/index.js.map +0 -1
- package/lib/utils/get-reunite-url.d.ts +0 -2
- package/lib/utils/get-reunite-url.d.ts.map +0 -1
- package/lib/utils/get-reunite-url.js +0 -18
- package/lib/utils/get-reunite-url.js.map +0 -1
- /package/lib/modules/{test-config-generator → arazzo-description-generator}/cleanup-test-description.d.ts +0 -0
- /package/lib/modules/{test-config-generator → arazzo-description-generator}/cleanup-test-description.js +0 -0
- /package/lib/modules/{test-config-generator → arazzo-description-generator}/generate-example-value.d.ts +0 -0
- /package/lib/modules/{test-config-generator → arazzo-description-generator}/generate-example-value.js +0 -0
- /package/lib/modules/{test-config-generator → arazzo-description-generator}/generate-test-data-from-json-schema.d.ts +0 -0
- /package/lib/modules/{test-config-generator → arazzo-description-generator}/generate-test-data-from-json-schema.js +0 -0
|
@@ -13,26 +13,28 @@ const config_parser_1 = require("../config-parser");
|
|
|
13
13
|
const runtime_expressions_1 = require("../runtime-expressions");
|
|
14
14
|
const logger_1 = require("../../utils/logger/logger");
|
|
15
15
|
const logger = logger_1.DefaultLogger.getInstance();
|
|
16
|
-
async function runStep({ step, ctx,
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
async function runStep({ step, ctx, workflowId, retriesLeft, }) {
|
|
17
|
+
step = { ...step }; // shallow copy step to avoid mutating the original step
|
|
18
|
+
step.retriesLeft = retriesLeft;
|
|
19
|
+
const workflow = ctx.workflows.find((w) => w.workflowId === workflowId);
|
|
20
|
+
const { stepId, onFailure, onSuccess, workflowId: targetWorkflowRef, parameters } = step;
|
|
19
21
|
const failureActionsToRun = (onFailure || workflow?.failureActions || []).map((action) => (0, config_parser_1.resolveReusableComponentItem)(action, ctx));
|
|
20
22
|
const successActionsToRun = (onSuccess || workflow?.successActions || []).map((action) => (0, config_parser_1.resolveReusableComponentItem)(action, ctx));
|
|
21
23
|
const resolvedParameters = parameters?.map((parameter) => (0, config_parser_1.resolveReusableComponentItem)(parameter, ctx));
|
|
22
|
-
if (
|
|
23
|
-
const
|
|
24
|
-
(0, config_parser_1.getValueFromContext)(
|
|
25
|
-
if (!
|
|
24
|
+
if (targetWorkflowRef) {
|
|
25
|
+
const targetWorkflow = ctx.workflows.find((w) => w.workflowId === targetWorkflowRef) ||
|
|
26
|
+
(0, config_parser_1.getValueFromContext)(targetWorkflowRef, ctx);
|
|
27
|
+
if (!targetWorkflow) {
|
|
26
28
|
const failedCall = {
|
|
27
29
|
name: checks_1.CHECKS.UNEXPECTED_ERROR,
|
|
28
|
-
message: `Workflow ${(0, colorette_1.red)(
|
|
30
|
+
message: `Workflow ${(0, colorette_1.red)(targetWorkflowRef)} not found.`,
|
|
29
31
|
pass: false,
|
|
30
32
|
severity: ctx.severity['UNEXPECTED_ERROR'],
|
|
31
33
|
};
|
|
32
34
|
step.checks.push(failedCall);
|
|
33
35
|
return;
|
|
34
36
|
}
|
|
35
|
-
const workflowCtx = await (0, runner_1.resolveWorkflowContext)(
|
|
37
|
+
const workflowCtx = await (0, runner_1.resolveWorkflowContext)(targetWorkflowRef, targetWorkflow, ctx);
|
|
36
38
|
if (resolvedParameters && resolvedParameters.length) {
|
|
37
39
|
// When the step in context specifies a workflowId, then all parameters without `in` maps to workflow inputs.
|
|
38
40
|
const workflowInputParameters = resolvedParameters
|
|
@@ -42,28 +44,26 @@ async function runStep({ step, ctx, workflowName, parentStepId, parentWorkflowId
|
|
|
42
44
|
acc[parameter.name] = (0, config_parser_1.getValueFromContext)(parameter.value, ctx);
|
|
43
45
|
return acc;
|
|
44
46
|
}, {});
|
|
45
|
-
workflowCtx.$workflows[
|
|
47
|
+
workflowCtx.$workflows[targetWorkflow.workflowId].inputs = workflowInputParameters;
|
|
46
48
|
}
|
|
49
|
+
(0, cli_outputs_1.printChildWorkflowSeparator)(stepId);
|
|
47
50
|
const stepWorkflowResult = await (0, runner_1.runWorkflow)({
|
|
48
|
-
workflowInput:
|
|
51
|
+
workflowInput: targetWorkflow,
|
|
49
52
|
ctx: workflowCtx,
|
|
50
|
-
|
|
51
|
-
parentStepId:
|
|
53
|
+
skipLineSeparator: true,
|
|
54
|
+
parentStepId: stepId,
|
|
55
|
+
invocationContext: `Child workflow of step ${stepId}`,
|
|
52
56
|
});
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
// merge all checks from all steps in executed workflow
|
|
57
|
-
step.checks = innerSteps.flatMap(({ checks }) => checks);
|
|
58
|
-
}
|
|
59
|
-
if (step?.outputs && stepWorkflowResult?.outputs) {
|
|
57
|
+
ctx.executedSteps.push(stepWorkflowResult);
|
|
58
|
+
const outputs = {};
|
|
59
|
+
if (step?.outputs) {
|
|
60
60
|
try {
|
|
61
61
|
for (const [outputKey, outputValue] of Object.entries(step.outputs)) {
|
|
62
62
|
// need to partially emulate $outputs context
|
|
63
|
-
|
|
63
|
+
outputs[outputKey] = (0, runtime_expressions_1.evaluateRuntimeExpressionPayload)({
|
|
64
64
|
payload: outputValue,
|
|
65
65
|
context: {
|
|
66
|
-
$outputs:
|
|
66
|
+
$outputs: workflowCtx.$outputs?.[targetWorkflow.workflowId] || {},
|
|
67
67
|
},
|
|
68
68
|
});
|
|
69
69
|
}
|
|
@@ -76,16 +76,15 @@ async function runStep({ step, ctx, workflowName, parentStepId, parentWorkflowId
|
|
|
76
76
|
severity: ctx.severity['UNEXPECTED_ERROR'],
|
|
77
77
|
};
|
|
78
78
|
step.checks.push(failedCall);
|
|
79
|
-
return;
|
|
80
79
|
}
|
|
81
80
|
// save local $steps context
|
|
82
81
|
ctx.$steps[stepId] = {
|
|
83
|
-
outputs
|
|
82
|
+
outputs,
|
|
84
83
|
};
|
|
85
84
|
// save local $steps context to parent workflow
|
|
86
85
|
if (workflow?.workflowId) {
|
|
87
86
|
ctx.$workflows[workflow.workflowId].steps[stepId] = {
|
|
88
|
-
outputs
|
|
87
|
+
outputs,
|
|
89
88
|
request: undefined,
|
|
90
89
|
response: undefined,
|
|
91
90
|
};
|
|
@@ -93,6 +92,7 @@ async function runStep({ step, ctx, workflowName, parentStepId, parentWorkflowId
|
|
|
93
92
|
}
|
|
94
93
|
return { shouldEnd: false };
|
|
95
94
|
}
|
|
95
|
+
ctx.executedSteps.push(step);
|
|
96
96
|
if (resolvedParameters && resolvedParameters.length) {
|
|
97
97
|
// When the step in context does not specify a workflowId the `in` field MUST be specified.
|
|
98
98
|
const parameterWithoutIn = resolvedParameters.find((parameter) => {
|
|
@@ -106,26 +106,17 @@ async function runStep({ step, ctx, workflowName, parentStepId, parentWorkflowId
|
|
|
106
106
|
let allChecksPassed = false;
|
|
107
107
|
let requestData;
|
|
108
108
|
try {
|
|
109
|
-
if (!
|
|
109
|
+
if (!workflowId) {
|
|
110
110
|
throw new Error('Workflow name is required to run a step');
|
|
111
111
|
}
|
|
112
|
-
requestData = await (0, prepare_request_1.prepareRequest)(ctx, step,
|
|
112
|
+
requestData = await (0, prepare_request_1.prepareRequest)(ctx, step, workflowId);
|
|
113
113
|
const checksResult = await (0, call_api_and_analyze_results_1.callAPIAndAnalyzeResults)({
|
|
114
114
|
ctx,
|
|
115
|
-
|
|
115
|
+
workflowId,
|
|
116
116
|
step,
|
|
117
117
|
requestData,
|
|
118
118
|
});
|
|
119
119
|
allChecksPassed = Object.values(checksResult).every((check) => check);
|
|
120
|
-
// we need to handle retry action separatelly as it should replace the current step state and should not log
|
|
121
|
-
if (failureActionsToRun.length && !allChecksPassed) {
|
|
122
|
-
const result = await runActions(failureActionsToRun, ['retry']);
|
|
123
|
-
if (result?.retriesLeft && result.retriesLeft > 0) {
|
|
124
|
-
// if retriesLeft > 0, it means that the step was retried successfully and we need
|
|
125
|
-
// to stop output logs and return step result to the outer workflow
|
|
126
|
-
return result.stepResult;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
120
|
}
|
|
130
121
|
catch (e) {
|
|
131
122
|
step.verboseLog = ctx.apiClient.getVerboseResponseLogs();
|
|
@@ -150,77 +141,81 @@ async function runStep({ step, ctx, workflowName, parentStepId, parentWorkflowId
|
|
|
150
141
|
verboseResponseLogs,
|
|
151
142
|
});
|
|
152
143
|
}
|
|
153
|
-
// onFailure handle 'goto' and 'end'.
|
|
154
144
|
if (failureActionsToRun.length && !allChecksPassed) {
|
|
155
|
-
const result = await runActions(failureActionsToRun,
|
|
145
|
+
const result = await runActions(failureActionsToRun, 'failure');
|
|
146
|
+
if (result?.retriesLeft && result.retriesLeft > 0) {
|
|
147
|
+
// if retriesLeft > 0, it means that the step was retried successfully and we need to
|
|
148
|
+
// return step result to the outer flow
|
|
149
|
+
return result.stepResult;
|
|
150
|
+
}
|
|
156
151
|
if (result?.shouldEnd) {
|
|
157
152
|
return { shouldEnd: true };
|
|
158
153
|
}
|
|
159
154
|
}
|
|
160
155
|
if (successActionsToRun.length && allChecksPassed) {
|
|
161
|
-
const result = await runActions(successActionsToRun,
|
|
156
|
+
const result = await runActions(successActionsToRun, 'success');
|
|
162
157
|
if (result?.shouldEnd) {
|
|
163
158
|
return { shouldEnd: true };
|
|
164
159
|
}
|
|
165
160
|
}
|
|
166
161
|
// Internal function to run actions
|
|
167
|
-
async function runActions(actions,
|
|
162
|
+
async function runActions(actions, kind) {
|
|
168
163
|
for (const action of actions) {
|
|
169
164
|
const { type, criteria } = action;
|
|
170
165
|
if (action.workflowId && action.stepId) {
|
|
171
166
|
throw new Error(`Cannot use both workflowId: ${action.workflowId} and stepId: ${action.stepId} in ${action.type} action`);
|
|
172
167
|
}
|
|
173
168
|
const matchesCriteria = (0, success_criteria_1.checkCriteria)({
|
|
174
|
-
workflowId:
|
|
169
|
+
workflowId: workflowId,
|
|
175
170
|
step,
|
|
176
171
|
criteria,
|
|
177
172
|
ctx,
|
|
178
173
|
}).every((check) => check.pass);
|
|
179
174
|
if (matchesCriteria) {
|
|
180
|
-
if (onlyTypes && !onlyTypes.includes(type)) {
|
|
181
|
-
break;
|
|
182
|
-
}
|
|
183
175
|
const targetWorkflow = action.workflowId
|
|
184
176
|
? (0, config_parser_1.getValueFromContext)(action.workflowId, ctx)
|
|
185
177
|
: undefined;
|
|
186
178
|
const targetCtx = action.workflowId
|
|
187
179
|
? await (0, runner_1.resolveWorkflowContext)(action.workflowId, targetWorkflow, ctx)
|
|
188
|
-
: ctx;
|
|
180
|
+
: { ...ctx, executedSteps: [] };
|
|
189
181
|
const targetStep = action.stepId ? step.stepId : undefined;
|
|
190
182
|
if (type === 'retry') {
|
|
191
183
|
const { retryAfter, retryLimit = 0 } = action;
|
|
192
184
|
retriesLeft = retriesLeft ?? retryLimit;
|
|
185
|
+
step.retriesLeft = retriesLeft;
|
|
193
186
|
if (retriesLeft === 0) {
|
|
194
187
|
return { retriesLeft: 0, shouldEnd: false };
|
|
195
188
|
}
|
|
196
189
|
await (0, delay_1.delay)(retryAfter);
|
|
197
|
-
|
|
190
|
+
if (targetWorkflow || targetStep) {
|
|
191
|
+
(0, cli_outputs_1.printActionsSeparator)(stepId, action.name, kind);
|
|
192
|
+
}
|
|
198
193
|
if (targetWorkflow) {
|
|
199
|
-
await (0, runner_1.runWorkflow)({
|
|
194
|
+
const stepWorkflowResult = await (0, runner_1.runWorkflow)({
|
|
200
195
|
workflowInput: targetWorkflow,
|
|
201
196
|
ctx: targetCtx,
|
|
202
|
-
|
|
203
|
-
|
|
197
|
+
skipLineSeparator: true,
|
|
198
|
+
invocationContext: `Retry action for step ${stepId}`,
|
|
204
199
|
});
|
|
200
|
+
ctx.executedSteps.push(stepWorkflowResult);
|
|
205
201
|
}
|
|
206
202
|
else if (targetStep) {
|
|
207
203
|
const stepToRun = workflow?.steps.find((s) => s.stepId === targetStep);
|
|
208
204
|
if (!stepToRun) {
|
|
209
|
-
throw new Error(`Step ${targetStep} not found in workflow ${
|
|
205
|
+
throw new Error(`Step ${targetStep} not found in workflow ${workflowId}`);
|
|
210
206
|
}
|
|
211
207
|
await runStep({
|
|
212
208
|
step: stepToRun,
|
|
213
209
|
ctx: targetCtx,
|
|
214
|
-
|
|
210
|
+
workflowId,
|
|
215
211
|
});
|
|
216
212
|
}
|
|
213
|
+
logger.log(`\n Retrying step ${(0, colorette_1.blue)(stepId)} (${retryLimit - retriesLeft + 1}/${retryLimit})\n`);
|
|
217
214
|
return {
|
|
218
215
|
stepResult: await runStep({
|
|
219
216
|
step,
|
|
220
217
|
ctx,
|
|
221
|
-
|
|
222
|
-
parentStepId: stepId,
|
|
223
|
-
parentWorkflowId: workflowName,
|
|
218
|
+
workflowId,
|
|
224
219
|
retriesLeft: retriesLeft - 1,
|
|
225
220
|
}),
|
|
226
221
|
retriesLeft,
|
|
@@ -233,12 +228,17 @@ async function runStep({ step, ctx, workflowName, parentStepId, parentWorkflowId
|
|
|
233
228
|
if (!targetWorkflow && !targetStep) {
|
|
234
229
|
throw new Error('Either workflowId or stepId must be provided in goto action');
|
|
235
230
|
}
|
|
236
|
-
|
|
231
|
+
if (targetWorkflow || targetStep) {
|
|
232
|
+
(0, cli_outputs_1.printActionsSeparator)(stepId, action.name, kind);
|
|
233
|
+
}
|
|
234
|
+
const stepWorkflowResult = await (0, runner_1.runWorkflow)({
|
|
237
235
|
workflowInput: targetWorkflow || workflow,
|
|
238
236
|
ctx: targetCtx,
|
|
239
|
-
parentWorkflowId: workflowName,
|
|
240
237
|
fromStepId: targetStep,
|
|
238
|
+
skipLineSeparator: true,
|
|
239
|
+
invocationContext: `Goto from step ${stepId}`,
|
|
241
240
|
});
|
|
241
|
+
ctx.executedSteps.push(stepWorkflowResult);
|
|
242
242
|
return { shouldEnd: true };
|
|
243
243
|
}
|
|
244
244
|
// stop at first matching action
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-step.js","sourceRoot":"","sources":["../../../src/modules/flow-runner/run-step.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"run-step.js","sourceRoot":"","sources":["../../../src/modules/flow-runner/run-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { CollectFn } from '@redocly/openapi-core/src/utils';
|
|
2
|
-
import type { TestContext, RunArgv, Workflow, RunWorkflowInput } from '../../types';
|
|
2
|
+
import type { TestContext, RunArgv, Workflow, RunWorkflowInput, WorkflowExecutionResult } from '../../types';
|
|
3
3
|
export declare function runTestFile(argv: RunArgv, output: {
|
|
4
4
|
harFile?: string;
|
|
5
5
|
jsonFile?: string;
|
|
6
6
|
}, collectSpecData?: CollectFn): Promise<{
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
ctx: TestContext;
|
|
8
|
+
harLogs: any;
|
|
9
|
+
executedWorkflows: WorkflowExecutionResult[];
|
|
9
10
|
}>;
|
|
10
|
-
export declare function runWorkflow({ workflowInput, ctx,
|
|
11
|
+
export declare function runWorkflow({ workflowInput, ctx, fromStepId, skipLineSeparator, parentStepId, invocationContext, }: RunWorkflowInput): Promise<WorkflowExecutionResult>;
|
|
11
12
|
export declare function resolveWorkflowContext(workflowId: string | undefined, resolvedWorkflow: Workflow, ctx: TestContext): Promise<TestContext>;
|
|
12
13
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/modules/flow-runner/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/modules/flow-runner/runner.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAGV,WAAW,EACX,OAAO,EACP,QAAQ,EAGR,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAIrB,wBAAsB,WAAW,CAC/B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/C,eAAe,CAAC,EAAE,SAAS;;;;GA8C5B;AAmCD,wBAAsB,WAAW,CAAC,EAChC,aAAa,EACb,GAAG,EACH,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GAClB,EAAE,gBAAgB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAmGrD;AA2BD,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,gBAAgB,EAAE,QAAQ,EAC1B,GAAG,EAAE,WAAW,wBA+BjB"}
|
|
@@ -22,7 +22,7 @@ const resolve_running_workflows_1 = require("./resolve-running-workflows");
|
|
|
22
22
|
const logger_1 = require("../../utils/logger/logger");
|
|
23
23
|
const logger = logger_1.DefaultLogger.getInstance();
|
|
24
24
|
async function runTestFile(argv, output, collectSpecData) {
|
|
25
|
-
const { file: filePath, workflow, verbose, input, skip, server, harOutput, jsonOutput, severity, } = argv;
|
|
25
|
+
const { file: filePath, workflow, verbose, input, skip, server, 'har-output': harOutput, 'json-output': jsonOutput, severity, } = argv;
|
|
26
26
|
const options = {
|
|
27
27
|
workflowPath: filePath, // filePath or documentPath
|
|
28
28
|
workflow,
|
|
@@ -35,32 +35,25 @@ async function runTestFile(argv, output, collectSpecData) {
|
|
|
35
35
|
server,
|
|
36
36
|
severity,
|
|
37
37
|
mutualTls: {
|
|
38
|
-
clientCert: argv
|
|
39
|
-
clientKey: argv
|
|
40
|
-
caCert: argv
|
|
38
|
+
clientCert: argv['client-cert'],
|
|
39
|
+
clientKey: argv['client-key'],
|
|
40
|
+
caCert: argv['ca-cert'],
|
|
41
41
|
},
|
|
42
42
|
};
|
|
43
43
|
const bundledTestDescription = await (0, get_test_description_from_file_1.bundleArazzo)(filePath);
|
|
44
44
|
collectSpecData?.(bundledTestDescription);
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const parsedHarLogs = (0, cli_output_1.maskSecrets)(harLogs, secretFields || new Set());
|
|
45
|
+
const result = await runWorkflows(bundledTestDescription, options);
|
|
46
|
+
if (output?.harFile && Object.keys(result.harLogs).length) {
|
|
47
|
+
const parsedHarLogs = (0, cli_output_1.maskSecrets)(result.harLogs, result.ctx.secretFields || new Set());
|
|
49
48
|
(0, node_fs_1.writeFileSync)(output.harFile, JSON.stringify(parsedHarLogs, null, 2), 'utf-8');
|
|
50
49
|
logger.log((0, colorette_1.blue)(`Har logs saved in ${(0, colorette_1.green)(output.harFile)}`));
|
|
51
50
|
logger.printNewLine();
|
|
52
51
|
logger.printNewLine();
|
|
53
52
|
}
|
|
54
|
-
|
|
55
|
-
(0, node_fs_1.writeFileSync)(output.jsonFile, JSON.stringify(jsonLogs, null, 2), 'utf-8');
|
|
56
|
-
logger.log((0, colorette_1.blue)((0, cli_outputs_1.indent)(`JSON logs saved in ${(0, colorette_1.green)(output.jsonFile)}`, 2)));
|
|
57
|
-
logger.printNewLine();
|
|
58
|
-
logger.printNewLine();
|
|
59
|
-
}
|
|
60
|
-
return { workflows, parsedYaml: descriptionCopy };
|
|
53
|
+
return result;
|
|
61
54
|
}
|
|
62
55
|
async function runWorkflows(testDescription, options) {
|
|
63
|
-
const harLogs = options
|
|
56
|
+
const harLogs = options?.harOutput && (0, har_logs_1.createHarLog)();
|
|
64
57
|
const apiClient = new api_fetcher_1.ApiFetcher({
|
|
65
58
|
harLogs,
|
|
66
59
|
});
|
|
@@ -68,21 +61,22 @@ async function runWorkflows(testDescription, options) {
|
|
|
68
61
|
const workflowsToRun = (0, resolve_running_workflows_1.resolveRunningWorkflows)(options.workflow);
|
|
69
62
|
const workflowsToSkip = (0, resolve_running_workflows_1.resolveRunningWorkflows)(options.skip);
|
|
70
63
|
const workflows = (0, get_workflows_to_run_1.getWorkflowsToRun)(ctx.workflows, workflowsToRun, workflowsToSkip);
|
|
64
|
+
const executedWorkflows = [];
|
|
71
65
|
for (const workflow of workflows) {
|
|
66
|
+
ctx.executedSteps = [];
|
|
72
67
|
// run dependencies workflows first
|
|
73
68
|
if (workflow.dependsOn?.length) {
|
|
74
69
|
await handleDependsOn({ workflow, ctx });
|
|
75
70
|
}
|
|
76
|
-
await runWorkflow({
|
|
71
|
+
const workflowExecutionResult = await runWorkflow({
|
|
77
72
|
workflowInput: workflow.workflowId,
|
|
78
73
|
ctx,
|
|
79
74
|
});
|
|
75
|
+
executedWorkflows.push(workflowExecutionResult);
|
|
80
76
|
}
|
|
81
|
-
|
|
82
|
-
const jsonLogs = options.jsonLogsFile ? (0, cli_output_1.composeJsonLogs)(ctx) : undefined;
|
|
83
|
-
return { ...ctx, harLogs, jsonLogs };
|
|
77
|
+
return { ctx, harLogs, executedWorkflows };
|
|
84
78
|
}
|
|
85
|
-
async function runWorkflow({ workflowInput, ctx,
|
|
79
|
+
async function runWorkflow({ workflowInput, ctx, fromStepId, skipLineSeparator, parentStepId, invocationContext, }) {
|
|
86
80
|
const workflowStartTime = performance.now();
|
|
87
81
|
const fileBaseName = (0, node_path_1.basename)(ctx.options.workflowPath);
|
|
88
82
|
const workflow = typeof workflowInput === 'string'
|
|
@@ -91,16 +85,8 @@ async function runWorkflow({ workflowInput, ctx, parentStepId, parentWorkflowId,
|
|
|
91
85
|
if (!workflow) {
|
|
92
86
|
throw new Error(`\n ${(0, colorette_1.blue)('Workflow')} ${workflowInput} ${(0, colorette_1.blue)('not found')} \n`);
|
|
93
87
|
}
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
(0, cli_outputs_1.printStepWorkflowSeparator)(parentStepId, parentWorkflowId);
|
|
97
|
-
}
|
|
98
|
-
else if (parentWorkflowId) {
|
|
99
|
-
(0, cli_outputs_1.printDependentWorkflowSeparator)(parentWorkflowId);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
(0, cli_outputs_1.printWorkflowSeparator)(fileBaseName, workflowName);
|
|
103
|
-
}
|
|
88
|
+
const workflowId = workflow.workflowId;
|
|
89
|
+
(0, cli_outputs_1.printWorkflowSeparator)(fileBaseName, workflowId, skipLineSeparator);
|
|
104
90
|
const fromStepIndex = fromStepId
|
|
105
91
|
? workflow.steps.findIndex((step) => step.stepId === fromStepId)
|
|
106
92
|
: 0;
|
|
@@ -109,15 +95,13 @@ async function runWorkflow({ workflowInput, ctx, parentStepId, parentWorkflowId,
|
|
|
109
95
|
ctx.$steps = {};
|
|
110
96
|
for (const step of workflowSteps) {
|
|
111
97
|
try {
|
|
112
|
-
const
|
|
98
|
+
const stepResult = await (0, run_step_1.runStep)({
|
|
113
99
|
step,
|
|
114
100
|
ctx,
|
|
115
|
-
|
|
116
|
-
parentWorkflowId,
|
|
117
|
-
parentStepId,
|
|
101
|
+
workflowId,
|
|
118
102
|
});
|
|
119
103
|
// When `end` action is used, we should not continue with the next steps
|
|
120
|
-
if (
|
|
104
|
+
if (stepResult?.shouldEnd) {
|
|
121
105
|
break;
|
|
122
106
|
}
|
|
123
107
|
}
|
|
@@ -129,46 +113,54 @@ async function runWorkflow({ workflowInput, ctx, parentStepId, parentWorkflowId,
|
|
|
129
113
|
severity: ctx.severity['UNEXPECTED_ERROR'],
|
|
130
114
|
};
|
|
131
115
|
step.checks.push(failedCall);
|
|
132
|
-
return;
|
|
133
116
|
}
|
|
134
117
|
}
|
|
135
118
|
// workflow level outputs
|
|
136
|
-
if (workflow.outputs &&
|
|
119
|
+
if (workflow.outputs && workflowId) {
|
|
137
120
|
if (!ctx.$outputs) {
|
|
138
121
|
ctx.$outputs = {};
|
|
139
122
|
}
|
|
140
|
-
if (!ctx.$outputs[
|
|
141
|
-
ctx.$outputs[
|
|
123
|
+
if (!ctx.$outputs[workflowId]) {
|
|
124
|
+
ctx.$outputs[workflowId] = {};
|
|
142
125
|
}
|
|
143
126
|
const runtimeExpressionContext = (0, context_1.createRuntimeExpressionCtx)({
|
|
144
127
|
ctx: {
|
|
145
128
|
...ctx,
|
|
146
129
|
$inputs: {
|
|
147
130
|
...(ctx.$inputs || {}),
|
|
148
|
-
...(ctx.$workflows[
|
|
131
|
+
...(ctx.$workflows[workflowId]?.inputs || {}),
|
|
149
132
|
},
|
|
150
133
|
},
|
|
151
|
-
workflowId
|
|
134
|
+
workflowId,
|
|
152
135
|
});
|
|
136
|
+
const outputs = {};
|
|
153
137
|
for (const outputKey of Object.keys(workflow.outputs)) {
|
|
154
138
|
try {
|
|
155
|
-
|
|
156
|
-
workflow.outputs[outputKey]
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
ctx.$outputs[workflowName].outputs = workflow.outputs;
|
|
162
|
-
ctx.$workflows[workflowName].outputs = workflow.outputs;
|
|
139
|
+
outputs[outputKey] = (0, runtime_expressions_1.evaluateRuntimeExpressionPayload)({
|
|
140
|
+
payload: workflow.outputs[outputKey],
|
|
141
|
+
context: runtimeExpressionContext,
|
|
142
|
+
});
|
|
163
143
|
}
|
|
164
144
|
catch (error) {
|
|
165
|
-
throw new Error(`Failed to resolve
|
|
145
|
+
throw new Error(`Failed to resolve output "${outputKey}" in workflow "${workflowId}": ${error.message}`);
|
|
166
146
|
}
|
|
167
147
|
}
|
|
148
|
+
ctx.$outputs[workflowId] = outputs;
|
|
149
|
+
ctx.$workflows[workflowId].outputs = outputs;
|
|
168
150
|
}
|
|
169
151
|
workflow.time = Math.ceil(performance.now() - workflowStartTime);
|
|
170
152
|
logger.printNewLine();
|
|
171
|
-
|
|
153
|
+
const endTime = performance.now();
|
|
154
|
+
return {
|
|
155
|
+
type: 'workflow',
|
|
156
|
+
invocationContext,
|
|
157
|
+
workflowId,
|
|
158
|
+
stepId: parentStepId,
|
|
159
|
+
startTime: workflowStartTime,
|
|
160
|
+
endTime,
|
|
161
|
+
totalTimeMs: Math.ceil(endTime - workflowStartTime),
|
|
162
|
+
executedSteps: ctx.executedSteps,
|
|
163
|
+
};
|
|
172
164
|
}
|
|
173
165
|
async function handleDependsOn({ workflow, ctx }) {
|
|
174
166
|
if (!workflow.dependsOn?.length)
|
|
@@ -176,15 +168,13 @@ async function handleDependsOn({ workflow, ctx }) {
|
|
|
176
168
|
const dependenciesWorkflows = await Promise.all(workflow.dependsOn.map(async (workflowId) => {
|
|
177
169
|
const resolvedWorkflow = (0, config_parser_1.getValueFromContext)(workflowId, ctx);
|
|
178
170
|
const workflowCtx = await resolveWorkflowContext(workflowId, resolvedWorkflow, ctx);
|
|
171
|
+
(0, cli_outputs_1.printRequiredWorkflowSeparator)(workflow.workflowId);
|
|
179
172
|
return runWorkflow({
|
|
180
173
|
workflowInput: resolvedWorkflow,
|
|
181
|
-
parentWorkflowId: workflow.workflowId,
|
|
182
174
|
ctx: workflowCtx,
|
|
175
|
+
skipLineSeparator: true,
|
|
183
176
|
});
|
|
184
177
|
}));
|
|
185
|
-
if (dependenciesWorkflows.some((w) => !w)) {
|
|
186
|
-
throw new Error('Dependent workflows failed');
|
|
187
|
-
}
|
|
188
178
|
const totals = (0, cli_output_1.calculateTotals)(dependenciesWorkflows);
|
|
189
179
|
const hasProblems = totals.steps.failed > 0;
|
|
190
180
|
if (hasProblems) {
|
|
@@ -205,8 +195,12 @@ async function resolveWorkflowContext(workflowId, resolvedWorkflow, ctx) {
|
|
|
205
195
|
input: ctx.options.input || undefined,
|
|
206
196
|
server: ctx.options.server || undefined,
|
|
207
197
|
severity: ctx.options.severity || undefined,
|
|
198
|
+
verbose: ctx.options.verbose || undefined,
|
|
208
199
|
}, ctx.apiClient)
|
|
209
|
-
:
|
|
200
|
+
: {
|
|
201
|
+
...ctx,
|
|
202
|
+
executedSteps: [],
|
|
203
|
+
};
|
|
210
204
|
}
|
|
211
205
|
function findSourceDescriptionUrl(sourceDescriptionId, sourceDescriptions, options) {
|
|
212
206
|
const sourceDescription = sourceDescriptions && sourceDescriptions.find(({ name }) => name === sourceDescriptionId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/modules/flow-runner/runner.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/modules/flow-runner/runner.ts"],"names":[],"mappings":"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"}
|