playwright-automation-core 1.0.0
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/LICENSE +21 -0
- package/README.md +225 -0
- package/dist/api/api.assertions.d.ts +196 -0
- package/dist/api/api.assertions.d.ts.map +1 -0
- package/dist/api/api.assertions.js +462 -0
- package/dist/api/api.assertions.js.map +1 -0
- package/dist/api/api.builder.d.ts +134 -0
- package/dist/api/api.builder.d.ts.map +1 -0
- package/dist/api/api.builder.js +273 -0
- package/dist/api/api.builder.js.map +1 -0
- package/dist/api/api.client.d.ts +157 -0
- package/dist/api/api.client.d.ts.map +1 -0
- package/dist/api/api.client.js +493 -0
- package/dist/api/api.client.js.map +1 -0
- package/dist/api/index.d.ts +8 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +17 -0
- package/dist/api/index.js.map +1 -0
- package/dist/core/base.driver.d.ts +130 -0
- package/dist/core/base.driver.d.ts.map +1 -0
- package/dist/core/base.driver.js +264 -0
- package/dist/core/base.driver.js.map +1 -0
- package/dist/core/driver.factory.d.ts +120 -0
- package/dist/core/driver.factory.d.ts.map +1 -0
- package/dist/core/driver.factory.js +222 -0
- package/dist/core/driver.factory.js.map +1 -0
- package/dist/core/element.actions.d.ts +119 -0
- package/dist/core/element.actions.d.ts.map +1 -0
- package/dist/core/element.actions.js +379 -0
- package/dist/core/element.actions.js.map +1 -0
- package/dist/core/hook.manager.d.ts +186 -0
- package/dist/core/hook.manager.d.ts.map +1 -0
- package/dist/core/hook.manager.js +297 -0
- package/dist/core/hook.manager.js.map +1 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +22 -0
- package/dist/core/index.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +128 -0
- package/dist/index.js.map +1 -0
- package/dist/mobile/index.d.ts +7 -0
- package/dist/mobile/index.d.ts.map +1 -0
- package/dist/mobile/index.js +14 -0
- package/dist/mobile/index.js.map +1 -0
- package/dist/mobile/mobile.assertions.d.ts +146 -0
- package/dist/mobile/mobile.assertions.d.ts.map +1 -0
- package/dist/mobile/mobile.assertions.js +333 -0
- package/dist/mobile/mobile.assertions.js.map +1 -0
- package/dist/mobile/mobile.driver.d.ts +297 -0
- package/dist/mobile/mobile.driver.d.ts.map +1 -0
- package/dist/mobile/mobile.driver.js +808 -0
- package/dist/mobile/mobile.driver.js.map +1 -0
- package/dist/types/common.types.d.ts +200 -0
- package/dist/types/common.types.d.ts.map +1 -0
- package/dist/types/common.types.js +3 -0
- package/dist/types/common.types.js.map +1 -0
- package/dist/types/config.types.d.ts +192 -0
- package/dist/types/config.types.d.ts.map +1 -0
- package/dist/types/config.types.js +3 -0
- package/dist/types/config.types.js.map +1 -0
- package/dist/types/driver.types.d.ts +500 -0
- package/dist/types/driver.types.d.ts.map +1 -0
- package/dist/types/driver.types.js +3 -0
- package/dist/types/driver.types.js.map +1 -0
- package/dist/types/enums.d.ts +53 -0
- package/dist/types/enums.d.ts.map +1 -0
- package/dist/types/enums.js +62 -0
- package/dist/types/enums.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +15 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/config.manager.d.ts +144 -0
- package/dist/utils/config.manager.d.ts.map +1 -0
- package/dist/utils/config.manager.js +473 -0
- package/dist/utils/config.manager.js.map +1 -0
- package/dist/utils/errors.d.ts +149 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +290 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/helpers.d.ts +124 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +421 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +78 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +145 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +235 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/wait.utils.d.ts +95 -0
- package/dist/utils/wait.utils.d.ts.map +1 -0
- package/dist/utils/wait.utils.js +306 -0
- package/dist/utils/wait.utils.js.map +1 -0
- package/dist/web/index.d.ts +8 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +16 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/web.assertions.d.ts +164 -0
- package/dist/web/web.assertions.d.ts.map +1 -0
- package/dist/web/web.assertions.js +427 -0
- package/dist/web/web.assertions.js.map +1 -0
- package/dist/web/web.driver.d.ts +174 -0
- package/dist/web/web.driver.d.ts.map +1 -0
- package/dist/web/web.driver.js +571 -0
- package/dist/web/web.driver.js.map +1 -0
- package/dist/web/web.page.d.ts +286 -0
- package/dist/web/web.page.d.ts.map +1 -0
- package/dist/web/web.page.js +570 -0
- package/dist/web/web.page.js.map +1 -0
- package/package.json +115 -0
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiAssertions = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
/**
|
|
6
|
+
* Default assertion options
|
|
7
|
+
*/
|
|
8
|
+
const DEFAULT_ASSERTION_OPTIONS = {
|
|
9
|
+
timeout: 5000,
|
|
10
|
+
message: "",
|
|
11
|
+
soft: false,
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* API Assertions class providing assertion methods for API responses.
|
|
15
|
+
*/
|
|
16
|
+
class ApiAssertions {
|
|
17
|
+
logger;
|
|
18
|
+
softErrors = [];
|
|
19
|
+
constructor(logger) {
|
|
20
|
+
this.logger = logger || utils_1.Logger.getInstance();
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get soft assertion errors
|
|
24
|
+
*/
|
|
25
|
+
getSoftErrors() {
|
|
26
|
+
return [...this.softErrors];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Clear soft assertion errors
|
|
30
|
+
*/
|
|
31
|
+
clearSoftErrors() {
|
|
32
|
+
this.softErrors = [];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if all soft assertions passed
|
|
36
|
+
*/
|
|
37
|
+
allSoftAssertionsPassed() {
|
|
38
|
+
return this.softErrors.length === 0;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Assert all soft assertions and throw if any failed
|
|
42
|
+
*/
|
|
43
|
+
assertAllSoftAssertions() {
|
|
44
|
+
if (this.softErrors.length > 0) {
|
|
45
|
+
const messages = this.softErrors
|
|
46
|
+
.map((e, i) => `${i + 1}. ${e.message}`)
|
|
47
|
+
.join("\n");
|
|
48
|
+
const errorCount = this.softErrors.length;
|
|
49
|
+
this.softErrors = [];
|
|
50
|
+
throw new utils_1.AssertionError(`${errorCount} soft assertion(s) failed:\n${messages}`, "all passed", "some failed");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Handle assertion result
|
|
55
|
+
*/
|
|
56
|
+
handleAssertion(passed, message, expected, actual, options) {
|
|
57
|
+
if (passed) {
|
|
58
|
+
this.logger.debug(`✓ API Assertion passed: ${message}`);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const errorMessage = options.message || message;
|
|
62
|
+
const result = {
|
|
63
|
+
passed: false,
|
|
64
|
+
message: errorMessage,
|
|
65
|
+
expected,
|
|
66
|
+
actual,
|
|
67
|
+
};
|
|
68
|
+
if (options.soft) {
|
|
69
|
+
this.logger.warn(`✗ Soft API assertion failed: ${errorMessage}`);
|
|
70
|
+
this.softErrors.push(result);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.logger.error(`✗ API Assertion failed: ${errorMessage}`);
|
|
74
|
+
throw new utils_1.AssertionError(errorMessage, expected, actual);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// ============ Status Code Assertions ============
|
|
78
|
+
/**
|
|
79
|
+
* Assert response status code equals expected
|
|
80
|
+
*/
|
|
81
|
+
assertStatus(response, expectedStatus, options = {}) {
|
|
82
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
83
|
+
const passed = response.status === expectedStatus;
|
|
84
|
+
this.handleAssertion(passed, `Expected status ${expectedStatus}, got ${response.status}`, expectedStatus, response.status, opts);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Assert response status is 200 OK
|
|
88
|
+
*/
|
|
89
|
+
assertOk(response, options = {}) {
|
|
90
|
+
this.assertStatus(response, 200, options);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Assert response status is 201 Created
|
|
94
|
+
*/
|
|
95
|
+
assertCreated(response, options = {}) {
|
|
96
|
+
this.assertStatus(response, 201, options);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Assert response status is 204 No Content
|
|
100
|
+
*/
|
|
101
|
+
assertNoContent(response, options = {}) {
|
|
102
|
+
this.assertStatus(response, 204, options);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Assert response status is 400 Bad Request
|
|
106
|
+
*/
|
|
107
|
+
assertBadRequest(response, options = {}) {
|
|
108
|
+
this.assertStatus(response, 400, options);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Assert response status is 401 Unauthorized
|
|
112
|
+
*/
|
|
113
|
+
assertUnauthorized(response, options = {}) {
|
|
114
|
+
this.assertStatus(response, 401, options);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Assert response status is 403 Forbidden
|
|
118
|
+
*/
|
|
119
|
+
assertForbidden(response, options = {}) {
|
|
120
|
+
this.assertStatus(response, 403, options);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Assert response status is 404 Not Found
|
|
124
|
+
*/
|
|
125
|
+
assertNotFound(response, options = {}) {
|
|
126
|
+
this.assertStatus(response, 404, options);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Assert response status is 500 Internal Server Error
|
|
130
|
+
*/
|
|
131
|
+
assertServerError(response, options = {}) {
|
|
132
|
+
this.assertStatus(response, 500, options);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Assert response status is in range
|
|
136
|
+
*/
|
|
137
|
+
assertStatusInRange(response, min, max, options = {}) {
|
|
138
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
139
|
+
const passed = response.status >= min && response.status <= max;
|
|
140
|
+
this.handleAssertion(passed, `Expected status between ${min}-${max}, got ${response.status}`, `${min}-${max}`, response.status, opts);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Assert response is successful (2xx)
|
|
144
|
+
*/
|
|
145
|
+
assertSuccess(response, options = {}) {
|
|
146
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
147
|
+
const passed = response.ok;
|
|
148
|
+
this.handleAssertion(passed, `Expected successful response (2xx), got ${response.status}`, "2xx", response.status, opts);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Assert response is client error (4xx)
|
|
152
|
+
*/
|
|
153
|
+
assertClientError(response, options = {}) {
|
|
154
|
+
this.assertStatusInRange(response, 400, 499, {
|
|
155
|
+
...options,
|
|
156
|
+
message: options.message ||
|
|
157
|
+
`Expected client error (4xx), got ${response.status}`,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Assert response is server error (5xx)
|
|
162
|
+
*/
|
|
163
|
+
assertServerErrorRange(response, options = {}) {
|
|
164
|
+
this.assertStatusInRange(response, 500, 599, {
|
|
165
|
+
...options,
|
|
166
|
+
message: options.message ||
|
|
167
|
+
`Expected server error (5xx), got ${response.status}`,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
// ============ Header Assertions ============
|
|
171
|
+
/**
|
|
172
|
+
* Assert response has header
|
|
173
|
+
*/
|
|
174
|
+
assertHasHeader(response, headerName, options = {}) {
|
|
175
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
176
|
+
const headerKey = Object.keys(response.headers).find((k) => k.toLowerCase() === headerName.toLowerCase());
|
|
177
|
+
const passed = headerKey !== undefined;
|
|
178
|
+
this.handleAssertion(passed, `Expected header "${headerName}" to be present`, "present", "not present", opts);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Assert response header equals value
|
|
182
|
+
*/
|
|
183
|
+
assertHeader(response, headerName, expectedValue, options = {}) {
|
|
184
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
185
|
+
const headerKey = Object.keys(response.headers).find((k) => k.toLowerCase() === headerName.toLowerCase());
|
|
186
|
+
const actualValue = headerKey ? response.headers[headerKey] : undefined;
|
|
187
|
+
let passed;
|
|
188
|
+
if (expectedValue instanceof RegExp) {
|
|
189
|
+
passed = actualValue !== undefined && expectedValue.test(actualValue);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
passed = actualValue === expectedValue;
|
|
193
|
+
}
|
|
194
|
+
this.handleAssertion(passed, `Expected header "${headerName}" to be "${expectedValue}", got "${actualValue}"`, expectedValue, actualValue, opts);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Assert response header contains value
|
|
198
|
+
*/
|
|
199
|
+
assertHeaderContains(response, headerName, expectedValue, options = {}) {
|
|
200
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
201
|
+
const headerKey = Object.keys(response.headers).find((k) => k.toLowerCase() === headerName.toLowerCase());
|
|
202
|
+
const actualValue = headerKey ? response.headers[headerKey] : "";
|
|
203
|
+
const passed = actualValue.includes(expectedValue);
|
|
204
|
+
this.handleAssertion(passed, `Expected header "${headerName}" to contain "${expectedValue}", got "${actualValue}"`, `contains "${expectedValue}"`, actualValue, opts);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Assert content type
|
|
208
|
+
*/
|
|
209
|
+
assertContentType(response, expectedType, options = {}) {
|
|
210
|
+
this.assertHeaderContains(response, "content-type", expectedType, {
|
|
211
|
+
...options,
|
|
212
|
+
message: options.message || `Expected content-type to contain "${expectedType}"`,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Assert JSON content type
|
|
217
|
+
*/
|
|
218
|
+
assertJsonContentType(response, options = {}) {
|
|
219
|
+
this.assertContentType(response, "application/json", options);
|
|
220
|
+
}
|
|
221
|
+
// ============ Body Assertions ============
|
|
222
|
+
/**
|
|
223
|
+
* Assert response body equals expected
|
|
224
|
+
*/
|
|
225
|
+
assertBody(response, expected, options = {}) {
|
|
226
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
227
|
+
const passed = JSON.stringify(response.data) === JSON.stringify(expected);
|
|
228
|
+
this.handleAssertion(passed, "Response body does not match expected", expected, response.data, opts);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Assert response body contains key
|
|
232
|
+
*/
|
|
233
|
+
assertBodyHasKey(response, key, options = {}) {
|
|
234
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
235
|
+
const data = response.data;
|
|
236
|
+
const passed = data !== null && typeof data === "object" && key in data;
|
|
237
|
+
this.handleAssertion(passed, `Expected response body to have key "${key}"`, "has key", "missing key", opts);
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Assert response body has nested key (dot notation)
|
|
241
|
+
*/
|
|
242
|
+
assertBodyHasPath(response, path, options = {}) {
|
|
243
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
244
|
+
const value = this.getValueByPath(response.data, path);
|
|
245
|
+
const passed = value !== undefined;
|
|
246
|
+
this.handleAssertion(passed, `Expected response body to have path "${path}"`, "has path", "missing path", opts);
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Assert response body value at path equals expected
|
|
250
|
+
*/
|
|
251
|
+
assertBodyValue(response, path, expected, options = {}) {
|
|
252
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
253
|
+
const actual = this.getValueByPath(response.data, path);
|
|
254
|
+
const passed = JSON.stringify(actual) === JSON.stringify(expected);
|
|
255
|
+
this.handleAssertion(passed, `Expected "${path}" to be ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`, expected, actual, opts);
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Assert response body value at path matches regex
|
|
259
|
+
*/
|
|
260
|
+
assertBodyMatches(response, path, pattern, options = {}) {
|
|
261
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
262
|
+
const actual = this.getValueByPath(response.data, path);
|
|
263
|
+
const actualStr = String(actual);
|
|
264
|
+
const passed = pattern.test(actualStr);
|
|
265
|
+
this.handleAssertion(passed, `Expected "${path}" to match ${pattern}, got "${actualStr}"`, pattern, actualStr, opts);
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Assert response body is array
|
|
269
|
+
*/
|
|
270
|
+
assertBodyIsArray(response, options = {}) {
|
|
271
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
272
|
+
const passed = Array.isArray(response.data);
|
|
273
|
+
this.handleAssertion(passed, "Expected response body to be an array", "array", typeof response.data, opts);
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Assert response body array length
|
|
277
|
+
*/
|
|
278
|
+
assertBodyArrayLength(response, expectedLength, options = {}) {
|
|
279
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
280
|
+
const data = response.data;
|
|
281
|
+
const passed = Array.isArray(data) && data.length === expectedLength;
|
|
282
|
+
this.handleAssertion(passed, `Expected array length ${expectedLength}, got ${Array.isArray(data) ? data.length : "not an array"}`, expectedLength, Array.isArray(data) ? data.length : "not an array", opts);
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Assert response body array length is greater than
|
|
286
|
+
*/
|
|
287
|
+
assertBodyArrayLengthGreaterThan(response, minLength, options = {}) {
|
|
288
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
289
|
+
const data = response.data;
|
|
290
|
+
const passed = Array.isArray(data) && data.length > minLength;
|
|
291
|
+
this.handleAssertion(passed, `Expected array length > ${minLength}, got ${Array.isArray(data) ? data.length : "not an array"}`, `> ${minLength}`, Array.isArray(data) ? data.length : "not an array", opts);
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Assert response body is not empty
|
|
295
|
+
*/
|
|
296
|
+
assertBodyNotEmpty(response, options = {}) {
|
|
297
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
298
|
+
const data = response.data;
|
|
299
|
+
let passed = false;
|
|
300
|
+
if (Array.isArray(data)) {
|
|
301
|
+
passed = data.length > 0;
|
|
302
|
+
}
|
|
303
|
+
else if (typeof data === "object" && data !== null) {
|
|
304
|
+
passed = Object.keys(data).length > 0;
|
|
305
|
+
}
|
|
306
|
+
else if (typeof data === "string") {
|
|
307
|
+
passed = data.length > 0;
|
|
308
|
+
}
|
|
309
|
+
this.handleAssertion(passed, "Expected response body to not be empty", "not empty", data, opts);
|
|
310
|
+
}
|
|
311
|
+
// ============ Performance Assertions ============
|
|
312
|
+
/**
|
|
313
|
+
* Assert response time is less than expected
|
|
314
|
+
*/
|
|
315
|
+
assertResponseTime(response, maxTimeMs, options = {}) {
|
|
316
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
317
|
+
const passed = response.responseTime < maxTimeMs;
|
|
318
|
+
this.handleAssertion(passed, `Expected response time < ${maxTimeMs}ms, got ${response.responseTime}ms`, `< ${maxTimeMs}ms`, `${response.responseTime}ms`, opts);
|
|
319
|
+
}
|
|
320
|
+
// ============ Schema Validation ============
|
|
321
|
+
/**
|
|
322
|
+
* Assert response body matches JSON schema (simplified)
|
|
323
|
+
*/
|
|
324
|
+
assertSchema(response, schema, options = {}) {
|
|
325
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
326
|
+
const errors = this.validateSchema(response.data, schema, "");
|
|
327
|
+
const passed = errors.length === 0;
|
|
328
|
+
this.handleAssertion(passed, `Schema validation failed: ${errors.join(", ")}`, "valid schema", errors, opts);
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Simple schema validation
|
|
332
|
+
*/
|
|
333
|
+
validateSchema(data, schema, path) {
|
|
334
|
+
const errors = [];
|
|
335
|
+
const currentPath = path || "root";
|
|
336
|
+
// Type check
|
|
337
|
+
if (schema.type) {
|
|
338
|
+
const types = Array.isArray(schema.type) ? schema.type : [schema.type];
|
|
339
|
+
const actualType = Array.isArray(data) ? "array" : typeof data;
|
|
340
|
+
if (!types.includes(actualType) &&
|
|
341
|
+
!(data === null && types.includes("null"))) {
|
|
342
|
+
errors.push(`${currentPath}: expected type ${types.join("|")}, got ${actualType}`);
|
|
343
|
+
return errors;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
// Enum check
|
|
347
|
+
if (schema.enum && !schema.enum.includes(data)) {
|
|
348
|
+
errors.push(`${currentPath}: value not in enum [${schema.enum.join(", ")}]`);
|
|
349
|
+
}
|
|
350
|
+
// Object validation
|
|
351
|
+
if (typeof data === "object" && data !== null && !Array.isArray(data)) {
|
|
352
|
+
const obj = data;
|
|
353
|
+
// Required properties
|
|
354
|
+
if (schema.required) {
|
|
355
|
+
for (const req of schema.required) {
|
|
356
|
+
if (!(req in obj)) {
|
|
357
|
+
errors.push(`${currentPath}: missing required property "${req}"`);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
// Property validation
|
|
362
|
+
if (schema.properties) {
|
|
363
|
+
for (const [key, propSchema] of Object.entries(schema.properties)) {
|
|
364
|
+
if (key in obj) {
|
|
365
|
+
errors.push(...this.validateSchema(obj[key], propSchema, `${currentPath}.${key}`));
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
// Array validation
|
|
371
|
+
if (Array.isArray(data) && schema.items) {
|
|
372
|
+
data.forEach((item, index) => {
|
|
373
|
+
errors.push(...this.validateSchema(item, schema.items, `${currentPath}[${index}]`));
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
// String validation
|
|
377
|
+
if (typeof data === "string") {
|
|
378
|
+
if (schema.minLength !== undefined && data.length < schema.minLength) {
|
|
379
|
+
errors.push(`${currentPath}: string length ${data.length} < minLength ${schema.minLength}`);
|
|
380
|
+
}
|
|
381
|
+
if (schema.maxLength !== undefined && data.length > schema.maxLength) {
|
|
382
|
+
errors.push(`${currentPath}: string length ${data.length} > maxLength ${schema.maxLength}`);
|
|
383
|
+
}
|
|
384
|
+
if (schema.pattern && !new RegExp(schema.pattern).test(data)) {
|
|
385
|
+
errors.push(`${currentPath}: string does not match pattern ${schema.pattern}`);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
// Number validation
|
|
389
|
+
if (typeof data === "number") {
|
|
390
|
+
if (schema.minimum !== undefined && data < schema.minimum) {
|
|
391
|
+
errors.push(`${currentPath}: number ${data} < minimum ${schema.minimum}`);
|
|
392
|
+
}
|
|
393
|
+
if (schema.maximum !== undefined && data > schema.maximum) {
|
|
394
|
+
errors.push(`${currentPath}: number ${data} > maximum ${schema.maximum}`);
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
return errors;
|
|
398
|
+
}
|
|
399
|
+
// ============ Utility Methods ============
|
|
400
|
+
/**
|
|
401
|
+
* Get value by dot notation path
|
|
402
|
+
*/
|
|
403
|
+
getValueByPath(obj, path) {
|
|
404
|
+
const keys = path.split(".");
|
|
405
|
+
let current = obj;
|
|
406
|
+
for (const key of keys) {
|
|
407
|
+
if (current === null ||
|
|
408
|
+
current === undefined ||
|
|
409
|
+
typeof current !== "object") {
|
|
410
|
+
return undefined;
|
|
411
|
+
}
|
|
412
|
+
// Handle array index notation: items[0]
|
|
413
|
+
const arrayMatch = key.match(/^(\w+)\[(\d+)\]$/);
|
|
414
|
+
if (arrayMatch) {
|
|
415
|
+
const [, arrayKey, indexStr] = arrayMatch;
|
|
416
|
+
const arr = current[arrayKey];
|
|
417
|
+
if (!Array.isArray(arr)) {
|
|
418
|
+
return undefined;
|
|
419
|
+
}
|
|
420
|
+
current = arr[parseInt(indexStr, 10)];
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
current = current[key];
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
return current;
|
|
427
|
+
}
|
|
428
|
+
// ============ Generic Assertions ============
|
|
429
|
+
/**
|
|
430
|
+
* Assert condition is true
|
|
431
|
+
*/
|
|
432
|
+
assertTrue(condition, message, options = {}) {
|
|
433
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
434
|
+
this.handleAssertion(condition, message, true, condition, opts);
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Assert condition is false
|
|
438
|
+
*/
|
|
439
|
+
assertFalse(condition, message, options = {}) {
|
|
440
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
441
|
+
this.handleAssertion(!condition, message, false, condition, opts);
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Assert values are equal
|
|
445
|
+
*/
|
|
446
|
+
assertEqual(actual, expected, message, options = {}) {
|
|
447
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
448
|
+
const passed = JSON.stringify(actual) === JSON.stringify(expected);
|
|
449
|
+
const msg = message ||
|
|
450
|
+
`Expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`;
|
|
451
|
+
this.handleAssertion(passed, msg, expected, actual, opts);
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Always fail with message
|
|
455
|
+
*/
|
|
456
|
+
fail(message, options = {}) {
|
|
457
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
458
|
+
this.handleAssertion(false, message, "pass", "fail", opts);
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
exports.ApiAssertions = ApiAssertions;
|
|
462
|
+
//# sourceMappingURL=api.assertions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.assertions.js","sourceRoot":"","sources":["../../src/api/api.assertions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { ApiResponse } from "../types";
|
|
2
|
+
import { ApiClient } from "./api.client";
|
|
3
|
+
/**
|
|
4
|
+
* Fluent API request builder for constructing and executing HTTP requests.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ApiRequestBuilder<T = unknown> {
|
|
7
|
+
private client;
|
|
8
|
+
private method;
|
|
9
|
+
private endpoint;
|
|
10
|
+
private requestData;
|
|
11
|
+
private requestOptions;
|
|
12
|
+
constructor(client: ApiClient);
|
|
13
|
+
/**
|
|
14
|
+
* Set request method to GET
|
|
15
|
+
*/
|
|
16
|
+
get(endpoint: string): this;
|
|
17
|
+
/**
|
|
18
|
+
* Set request method to POST
|
|
19
|
+
*/
|
|
20
|
+
post(endpoint: string): this;
|
|
21
|
+
/**
|
|
22
|
+
* Set request method to PUT
|
|
23
|
+
*/
|
|
24
|
+
put(endpoint: string): this;
|
|
25
|
+
/**
|
|
26
|
+
* Set request method to PATCH
|
|
27
|
+
*/
|
|
28
|
+
patch(endpoint: string): this;
|
|
29
|
+
/**
|
|
30
|
+
* Set request method to DELETE
|
|
31
|
+
*/
|
|
32
|
+
delete(endpoint: string): this;
|
|
33
|
+
/**
|
|
34
|
+
* Set request method to HEAD
|
|
35
|
+
*/
|
|
36
|
+
head(endpoint: string): this;
|
|
37
|
+
/**
|
|
38
|
+
* Set request method to OPTIONS
|
|
39
|
+
*/
|
|
40
|
+
options(endpoint: string): this;
|
|
41
|
+
/**
|
|
42
|
+
* Set request body data
|
|
43
|
+
*/
|
|
44
|
+
body(data: unknown): this;
|
|
45
|
+
/**
|
|
46
|
+
* Alias for body
|
|
47
|
+
*/
|
|
48
|
+
data(data: unknown): this;
|
|
49
|
+
/**
|
|
50
|
+
* Set JSON body data
|
|
51
|
+
*/
|
|
52
|
+
json(data: unknown): this;
|
|
53
|
+
/**
|
|
54
|
+
* Set form data
|
|
55
|
+
*/
|
|
56
|
+
form(data: Record<string, string>): this;
|
|
57
|
+
/**
|
|
58
|
+
* Set multipart form data
|
|
59
|
+
*/
|
|
60
|
+
multipart(data: Record<string, unknown>): this;
|
|
61
|
+
/**
|
|
62
|
+
* Add a single header
|
|
63
|
+
*/
|
|
64
|
+
header(name: string, value: string): this;
|
|
65
|
+
/**
|
|
66
|
+
* Add multiple headers
|
|
67
|
+
*/
|
|
68
|
+
headers(headers: Record<string, string>): this;
|
|
69
|
+
/**
|
|
70
|
+
* Set bearer token authorization
|
|
71
|
+
*/
|
|
72
|
+
bearerToken(token: string): this;
|
|
73
|
+
/**
|
|
74
|
+
* Set basic auth authorization
|
|
75
|
+
*/
|
|
76
|
+
basicAuth(username: string, password: string): this;
|
|
77
|
+
/**
|
|
78
|
+
* Add a single query parameter
|
|
79
|
+
*/
|
|
80
|
+
param(name: string, value: string): this;
|
|
81
|
+
/**
|
|
82
|
+
* Add multiple query parameters
|
|
83
|
+
*/
|
|
84
|
+
params(params: Record<string, string>): this;
|
|
85
|
+
/**
|
|
86
|
+
* Set request timeout
|
|
87
|
+
*/
|
|
88
|
+
timeout(ms: number): this;
|
|
89
|
+
/**
|
|
90
|
+
* Set content type
|
|
91
|
+
*/
|
|
92
|
+
contentType(type: string): this;
|
|
93
|
+
/**
|
|
94
|
+
* Set accept header
|
|
95
|
+
*/
|
|
96
|
+
accept(type: string): this;
|
|
97
|
+
/**
|
|
98
|
+
* Don't fail on non-2xx status codes
|
|
99
|
+
*/
|
|
100
|
+
ignoreStatusCode(): this;
|
|
101
|
+
/**
|
|
102
|
+
* Fail on non-2xx status codes (default)
|
|
103
|
+
*/
|
|
104
|
+
failOnStatusCode(): this;
|
|
105
|
+
/**
|
|
106
|
+
* Ignore HTTPS errors
|
|
107
|
+
*/
|
|
108
|
+
ignoreHTTPS(): this;
|
|
109
|
+
/**
|
|
110
|
+
* Execute the request
|
|
111
|
+
*/
|
|
112
|
+
send(): Promise<ApiResponse<T>>;
|
|
113
|
+
/**
|
|
114
|
+
* Alias for send
|
|
115
|
+
*/
|
|
116
|
+
execute(): Promise<ApiResponse<T>>;
|
|
117
|
+
/**
|
|
118
|
+
* Execute and return only the response data
|
|
119
|
+
*/
|
|
120
|
+
fetchData(): Promise<T>;
|
|
121
|
+
/**
|
|
122
|
+
* Reset builder to initial state
|
|
123
|
+
*/
|
|
124
|
+
reset(): this;
|
|
125
|
+
/**
|
|
126
|
+
* Clone the builder
|
|
127
|
+
*/
|
|
128
|
+
clone(): ApiRequestBuilder<T>;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Create a new request builder
|
|
132
|
+
*/
|
|
133
|
+
export declare function createRequest<T = unknown>(client: ApiClient): ApiRequestBuilder<T>;
|
|
134
|
+
//# sourceMappingURL=api.builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.builder.d.ts","sourceRoot":"","sources":["../../src/api/api.builder.ts"],"names":[],"mappings":"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"}
|