@redocly/respect-core 2.3.0 → 2.3.1
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/modules/flow-runner/success-criteria/check-success-criteria.js +2 -19
- package/lib/modules/flow-runner/success-criteria/check-success-criteria.js.map +1 -1
- package/lib/modules/flow-runner/success-criteria/evaluate-jsonpath-condition.d.ts +3 -0
- package/lib/modules/flow-runner/success-criteria/evaluate-jsonpath-condition.d.ts.map +1 -0
- package/lib/modules/flow-runner/success-criteria/evaluate-jsonpath-condition.js +176 -0
- package/lib/modules/flow-runner/success-criteria/evaluate-jsonpath-condition.js.map +1 -0
- package/package.json +3 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { JSONPath } from 'jsonpath-plus';
|
|
2
1
|
import { validateSuccessCriteria, isRegexpSuccessCriteria, isJSONPathSuccessCriteria, } from './validate-success-criteria.js';
|
|
3
2
|
import { CHECKS } from '../../checks/index.js';
|
|
4
3
|
import { evaluateRuntimeExpression } from '../../runtime-expressions/index.js';
|
|
5
4
|
import { createRuntimeExpressionCtx } from '../context/index.js';
|
|
5
|
+
import { evaluateJSONPathCondition } from './evaluate-jsonpath-condition.js';
|
|
6
6
|
export function checkCriteria({ workflowId, step, criteria: criteriaList = [], ctx, }) {
|
|
7
7
|
validateSuccessCriteria(criteriaList);
|
|
8
8
|
const checks = [];
|
|
@@ -50,7 +50,7 @@ export function checkCriteria({ workflowId, step, criteria: criteriaList = [], c
|
|
|
50
50
|
const data = evaluateRuntimeExpression(context, criteriaContext, ctx.options.logger);
|
|
51
51
|
checks.push({
|
|
52
52
|
name: CHECKS.SUCCESS_CRITERIA_CHECK,
|
|
53
|
-
passed:
|
|
53
|
+
passed: evaluateJSONPathCondition(condition, data),
|
|
54
54
|
message: `Checking jsonpath criteria: ${condition}`,
|
|
55
55
|
severity: ctx.severity['SUCCESS_CRITERIA_CHECK'],
|
|
56
56
|
condition: condition,
|
|
@@ -78,21 +78,4 @@ export function checkCriteria({ workflowId, step, criteria: criteriaList = [], c
|
|
|
78
78
|
});
|
|
79
79
|
return checks;
|
|
80
80
|
}
|
|
81
|
-
function evaluateJSONPAthCondition(condition, context) {
|
|
82
|
-
// Extract JSONPath expressions from the string
|
|
83
|
-
const jsonpathMatches = condition.match(/\$\.[a-zA-Z0-9_]+/g) || [];
|
|
84
|
-
// Replace JSONPath expressions with their values
|
|
85
|
-
const replacedCondition = jsonpathMatches.reduce((acc, match) => {
|
|
86
|
-
const jsonpathResult = JSONPath({ path: match, json: context });
|
|
87
|
-
const jsonpathResultValue = jsonpathResult[0] || null;
|
|
88
|
-
return acc.replace(match, JSON.stringify(jsonpathResultValue));
|
|
89
|
-
}, condition);
|
|
90
|
-
try {
|
|
91
|
-
const evaluateFn = new Function(`return ${replacedCondition};`);
|
|
92
|
-
return !!evaluateFn();
|
|
93
|
-
}
|
|
94
|
-
catch (_error) {
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
81
|
//# sourceMappingURL=check-success-criteria.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-success-criteria.js","sourceRoot":"","sources":["../../../../src/modules/flow-runner/success-criteria/check-success-criteria.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"check-success-criteria.js","sourceRoot":"","sources":["../../../../src/modules/flow-runner/success-criteria/check-success-criteria.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-jsonpath-condition.d.ts","sourceRoot":"","sources":["../../../../src/modules/flow-runner/success-criteria/evaluate-jsonpath-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,WAS9E"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { query } from 'jsonpath-rfc9535';
|
|
2
|
+
export function evaluateJSONPathCondition(condition, context) {
|
|
3
|
+
try {
|
|
4
|
+
const resolvedCondition = parseExpressions(condition, context);
|
|
5
|
+
const evaluateFn = new Function(`return ${resolvedCondition};`);
|
|
6
|
+
return !!evaluateFn();
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function parseExpressions(condition, context) {
|
|
13
|
+
const expressionsParts = [];
|
|
14
|
+
let i = 0;
|
|
15
|
+
let expressionElements = '';
|
|
16
|
+
while (i < condition.length) {
|
|
17
|
+
if (condition[i] === '$') {
|
|
18
|
+
if (expressionElements.length > 0) {
|
|
19
|
+
expressionsParts.push(expressionElements);
|
|
20
|
+
expressionElements = '';
|
|
21
|
+
}
|
|
22
|
+
const start = i;
|
|
23
|
+
const expression = parseSingleJSONPath(condition, i);
|
|
24
|
+
if (expression.length > 1) {
|
|
25
|
+
const evaluatedExpression = evaluateJSONPathExpression(expression, context);
|
|
26
|
+
expressionsParts.push(evaluatedExpression);
|
|
27
|
+
}
|
|
28
|
+
i = start + expression.length;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
expressionElements += condition[i];
|
|
32
|
+
i++;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// Push any remaining content after the while loop
|
|
36
|
+
if (expressionElements.length > 0) {
|
|
37
|
+
expressionsParts.push(expressionElements);
|
|
38
|
+
}
|
|
39
|
+
return expressionsParts.join('');
|
|
40
|
+
}
|
|
41
|
+
function parseSingleJSONPath(condition, startIndex) {
|
|
42
|
+
let jsonpath = '$';
|
|
43
|
+
let bracketDepth = 0;
|
|
44
|
+
let inQuotes = false;
|
|
45
|
+
let quoteChar = '';
|
|
46
|
+
let inFilter = false;
|
|
47
|
+
let filterDepth = 0;
|
|
48
|
+
let i = startIndex + 1; // Skip the '$'
|
|
49
|
+
while (i < condition.length) {
|
|
50
|
+
const char = condition[i];
|
|
51
|
+
if ((char === '"' || char === "'") && !inQuotes) {
|
|
52
|
+
inQuotes = true;
|
|
53
|
+
quoteChar = char;
|
|
54
|
+
jsonpath += char;
|
|
55
|
+
i++;
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (char === quoteChar && inQuotes) {
|
|
59
|
+
inQuotes = false;
|
|
60
|
+
jsonpath += char;
|
|
61
|
+
i++;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (inQuotes) {
|
|
65
|
+
jsonpath += char;
|
|
66
|
+
i++;
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
if (char === '[') {
|
|
70
|
+
bracketDepth++;
|
|
71
|
+
if (i + 1 < condition.length && condition[i + 1] === '?') {
|
|
72
|
+
inFilter = true;
|
|
73
|
+
filterDepth = bracketDepth;
|
|
74
|
+
}
|
|
75
|
+
jsonpath += char;
|
|
76
|
+
i++;
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (char === ']') {
|
|
80
|
+
bracketDepth--;
|
|
81
|
+
if (inFilter && bracketDepth < filterDepth) {
|
|
82
|
+
inFilter = false;
|
|
83
|
+
}
|
|
84
|
+
jsonpath += char;
|
|
85
|
+
i++;
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
// Stop at logical operators, comparison operators, or whitespace (outside of filters)
|
|
89
|
+
if (!inFilter && (/\s/.test(char) || /[<>=!&|,)]/.test(char))) {
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
jsonpath += char;
|
|
93
|
+
i++;
|
|
94
|
+
}
|
|
95
|
+
return jsonpath;
|
|
96
|
+
}
|
|
97
|
+
function evaluateJSONPathExpression(expression, context) {
|
|
98
|
+
// Handle legacy .length suffix for backward compatibility that is not a valid RFC 9535 expression
|
|
99
|
+
if (expression.endsWith('.length')) {
|
|
100
|
+
const basePath = expression.slice(0, -'.length'.length);
|
|
101
|
+
const normalizedPath = transformHyphensToUnderscores(basePath);
|
|
102
|
+
const result = query(context, normalizedPath);
|
|
103
|
+
const value = result[0] ?? null;
|
|
104
|
+
return Array.isArray(value) ? String(value.length) : '0';
|
|
105
|
+
}
|
|
106
|
+
if (expression.includes('[?(') && expression.includes(')]')) {
|
|
107
|
+
return handleFilterExpression(expression, context);
|
|
108
|
+
}
|
|
109
|
+
const normalizedPath = transformHyphensToUnderscores(expression);
|
|
110
|
+
const result = query(context, normalizedPath);
|
|
111
|
+
return JSON.stringify(result[0]);
|
|
112
|
+
}
|
|
113
|
+
function handleFilterExpression(expression, context) {
|
|
114
|
+
const filterMatch = expression.match(/\[\?\((.*)\)\]/);
|
|
115
|
+
if (!filterMatch)
|
|
116
|
+
return 'false';
|
|
117
|
+
const filterCondition = filterMatch[1];
|
|
118
|
+
const basePath = expression.substring(0, expression.indexOf('[?('));
|
|
119
|
+
const normalizedBasePath = transformHyphensToUnderscores(basePath);
|
|
120
|
+
const jsonpathResult = query(context, normalizedBasePath);
|
|
121
|
+
// Flatten the result in case JSONPath returns nested arrays
|
|
122
|
+
const arrayToFilter = Array.isArray(jsonpathResult) ? jsonpathResult.flat() : jsonpathResult;
|
|
123
|
+
if (!Array.isArray(arrayToFilter)) {
|
|
124
|
+
return 'false';
|
|
125
|
+
}
|
|
126
|
+
const filteredArray = arrayToFilter.filter((item) => {
|
|
127
|
+
const convertedCondition = processFilterCondition(filterCondition, item);
|
|
128
|
+
try {
|
|
129
|
+
const safeEval = new Function('item', `return ${convertedCondition};`);
|
|
130
|
+
return !!safeEval(item);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
const afterFilter = expression.substring(expression.indexOf(')]') + 2);
|
|
137
|
+
if (afterFilter.startsWith('.')) {
|
|
138
|
+
const propertyMatch = afterFilter.match(/\.([a-zA-Z0-9_-]+)/);
|
|
139
|
+
if (propertyMatch) {
|
|
140
|
+
const propertyName = propertyMatch[1].replace(/-/g, '_');
|
|
141
|
+
const propertyValues = filteredArray.map((item) => item[propertyName]);
|
|
142
|
+
return JSON.stringify(propertyValues);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return filteredArray.length > 0 ? JSON.stringify(filteredArray) : 'false';
|
|
146
|
+
}
|
|
147
|
+
function processFilterCondition(filterCondition, item) {
|
|
148
|
+
let convertedCondition = filterCondition;
|
|
149
|
+
// Handle @.property.match(/pattern/) expressions
|
|
150
|
+
convertedCondition = convertedCondition.replace(/@\.([a-zA-Z0-9_-]+)\.match\(([^)]+)\)/g, (_, prop, pattern) => {
|
|
151
|
+
const normalizedProp = prop.replace(/-/g, '_');
|
|
152
|
+
const value = item[normalizedProp];
|
|
153
|
+
if (typeof value !== 'string')
|
|
154
|
+
return 'false';
|
|
155
|
+
try {
|
|
156
|
+
let cleanPattern = pattern.replace(/^["']|["']$/g, ''); // Remove quotes
|
|
157
|
+
cleanPattern = cleanPattern.replace(/^\/|\/$/g, ''); // Remove leading/trailing slashes
|
|
158
|
+
const regex = new RegExp(cleanPattern);
|
|
159
|
+
return String(regex.test(value));
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
return 'false';
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
// Handle @.property expressions (simple property access)
|
|
166
|
+
convertedCondition = convertedCondition.replace(/@\.([a-zA-Z0-9_-]+)/g, (_, prop) => {
|
|
167
|
+
const normalizedProp = prop.replace(/-/g, '_');
|
|
168
|
+
const value = item[normalizedProp];
|
|
169
|
+
return JSON.stringify(value);
|
|
170
|
+
});
|
|
171
|
+
return convertedCondition;
|
|
172
|
+
}
|
|
173
|
+
function transformHyphensToUnderscores(path) {
|
|
174
|
+
return path.replace(/\.([a-zA-Z0-9_-]+)/g, (_, prop) => '.' + prop.replace(/-/g, '_'));
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=evaluate-jsonpath-condition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-jsonpath-condition.js","sourceRoot":"","sources":["../../../../src/modules/flow-runner/success-criteria/evaluate-jsonpath-condition.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/respect-core",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "API testing framework core",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"@faker-js/faker": "^7.6.0",
|
|
40
40
|
"@noble/hashes": "^1.8.0",
|
|
41
41
|
"@redocly/ajv": "8.11.2",
|
|
42
|
-
"@redocly/openapi-core": "2.3.
|
|
42
|
+
"@redocly/openapi-core": "2.3.1",
|
|
43
43
|
"better-ajv-errors": "^1.2.0",
|
|
44
44
|
"colorette": "^2.0.20",
|
|
45
45
|
"jest-matcher-utils": "^29.3.1",
|
|
46
46
|
"json-pointer": "^0.6.2",
|
|
47
|
-
"jsonpath-
|
|
47
|
+
"jsonpath-rfc9535": "1.3.0",
|
|
48
48
|
"openapi-sampler": "^1.6.1",
|
|
49
49
|
"outdent": "^0.8.0"
|
|
50
50
|
},
|