@glubean/sdk 0.1.36 → 0.1.38
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/dist/contract-types.d.ts +306 -27
- package/dist/contract-types.d.ts.map +1 -1
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +308 -28
- package/dist/contract.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +11 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/contract.js
CHANGED
|
@@ -12,7 +12,7 @@ import { registerTest } from "./internal.js";
|
|
|
12
12
|
* Create an HttpContract — a Test[] with contract-level properties.
|
|
13
13
|
* Uses Object.assign on a plain array to avoid class-extends-Array pitfalls.
|
|
14
14
|
*/
|
|
15
|
-
function createHttpContract(id, endpoint, tests, request, description, feature, caseSchemas, instanceName, security) {
|
|
15
|
+
function createHttpContract(id, endpoint, tests, request, description, feature, caseSchemas, instanceName, security, deprecated, extensions, requestContentType) {
|
|
16
16
|
const arr = [...tests];
|
|
17
17
|
const asSteps = () => {
|
|
18
18
|
return (b) => {
|
|
@@ -29,7 +29,7 @@ function createHttpContract(id, endpoint, tests, request, description, feature,
|
|
|
29
29
|
const asStep = (caseKey) => {
|
|
30
30
|
const target = caseKey
|
|
31
31
|
? arr.find((t) => t.meta.id.endsWith(`.${caseKey}`))
|
|
32
|
-
: arr.find((t) => t.fn !== undefined && !t.meta.deferred);
|
|
32
|
+
: arr.find((t) => t.fn !== undefined && !t.meta.deferred && !t.meta.deprecated);
|
|
33
33
|
if (!target)
|
|
34
34
|
throw new Error(`Case "${caseKey ?? "default"}" not found in contract "${id}"`);
|
|
35
35
|
return (b) => {
|
|
@@ -41,7 +41,7 @@ function createHttpContract(id, endpoint, tests, request, description, feature,
|
|
|
41
41
|
};
|
|
42
42
|
return Object.assign(arr, {
|
|
43
43
|
id, endpoint, request, description, feature,
|
|
44
|
-
instanceName, security,
|
|
44
|
+
instanceName, security, deprecated, extensions, requestContentType,
|
|
45
45
|
_caseSchemas: caseSchemas,
|
|
46
46
|
asSteps, asStep,
|
|
47
47
|
});
|
|
@@ -58,6 +58,30 @@ function parseEndpoint(endpoint) {
|
|
|
58
58
|
path: endpoint.slice(spaceIdx + 1),
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Extract the string value from a ParamValue (string or { value } object).
|
|
63
|
+
*/
|
|
64
|
+
function extractParamValue(v) {
|
|
65
|
+
if (typeof v === "string")
|
|
66
|
+
return v;
|
|
67
|
+
if (v && typeof v === "object" && "value" in v) {
|
|
68
|
+
return String(v.value);
|
|
69
|
+
}
|
|
70
|
+
return String(v);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Convert a params/query Record<string, ParamValue> to Record<string, string>
|
|
74
|
+
* by extracting `.value` from ParamValue objects.
|
|
75
|
+
*/
|
|
76
|
+
function flattenParamValues(params) {
|
|
77
|
+
if (!params)
|
|
78
|
+
return undefined;
|
|
79
|
+
const result = {};
|
|
80
|
+
for (const [key, value] of Object.entries(params)) {
|
|
81
|
+
result[key] = extractParamValue(value);
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
61
85
|
function resolveParams(path, params) {
|
|
62
86
|
if (!params)
|
|
63
87
|
return path;
|
|
@@ -67,6 +91,107 @@ function resolveParams(path, params) {
|
|
|
67
91
|
}
|
|
68
92
|
return resolved;
|
|
69
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Normalize RequestSpec to a structured form { body, contentType, headers, example, examples }.
|
|
96
|
+
* Accepts either bare SchemaLike (treated as JSON body) or already-structured object.
|
|
97
|
+
*/
|
|
98
|
+
function normalizeRequest(req) {
|
|
99
|
+
if (!req)
|
|
100
|
+
return undefined;
|
|
101
|
+
// SchemaLike duck-type: has safeParse, no body field
|
|
102
|
+
if (typeof req.safeParse === "function" && !("body" in req)) {
|
|
103
|
+
return { body: req };
|
|
104
|
+
}
|
|
105
|
+
return req;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Build request options based on content type. Supports:
|
|
109
|
+
* - application/json (default) — body → requestOptions.json
|
|
110
|
+
* - multipart/form-data — body (FormData | object) → requestOptions.body
|
|
111
|
+
* - application/x-www-form-urlencoded — body (URLSearchParams | object) → requestOptions.body
|
|
112
|
+
* - text/plain, application/octet-stream — body → requestOptions.body (string/binary)
|
|
113
|
+
*/
|
|
114
|
+
function buildRequestBodyOptions(body, contentType) {
|
|
115
|
+
if (body === undefined)
|
|
116
|
+
return {};
|
|
117
|
+
const ct = (contentType ?? "application/json").toLowerCase();
|
|
118
|
+
if (ct.startsWith("application/json")) {
|
|
119
|
+
return { json: body };
|
|
120
|
+
}
|
|
121
|
+
if (ct.startsWith("multipart/form-data")) {
|
|
122
|
+
// If body is already FormData, pass through. Otherwise, convert object to FormData.
|
|
123
|
+
if (typeof FormData !== "undefined" && body instanceof FormData) {
|
|
124
|
+
return { body };
|
|
125
|
+
}
|
|
126
|
+
if (body && typeof body === "object") {
|
|
127
|
+
const fd = new FormData();
|
|
128
|
+
for (const [k, v] of Object.entries(body)) {
|
|
129
|
+
if (v instanceof Blob || v instanceof File) {
|
|
130
|
+
fd.append(k, v);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
fd.append(k, String(v));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return { body: fd };
|
|
137
|
+
}
|
|
138
|
+
return { body };
|
|
139
|
+
}
|
|
140
|
+
if (ct.startsWith("application/x-www-form-urlencoded")) {
|
|
141
|
+
if (body instanceof URLSearchParams)
|
|
142
|
+
return { body };
|
|
143
|
+
if (body && typeof body === "object") {
|
|
144
|
+
const params = new URLSearchParams();
|
|
145
|
+
for (const [k, v] of Object.entries(body)) {
|
|
146
|
+
params.append(k, String(v));
|
|
147
|
+
}
|
|
148
|
+
return { body: params };
|
|
149
|
+
}
|
|
150
|
+
return { body };
|
|
151
|
+
}
|
|
152
|
+
// text/plain, application/octet-stream, other — raw pass-through
|
|
153
|
+
// Set Content-Type header if not already present (handled via headers in caller)
|
|
154
|
+
return { body };
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Normalize response headers to lowercase keys + preserve multi-value shape.
|
|
158
|
+
* HTTP spec: header names are case-insensitive. Some headers (Set-Cookie) can have multiple values.
|
|
159
|
+
*/
|
|
160
|
+
function normalizeResponseHeaders(headers) {
|
|
161
|
+
const result = {};
|
|
162
|
+
if (!headers)
|
|
163
|
+
return result;
|
|
164
|
+
// Handle Headers object (fetch / ky response headers)
|
|
165
|
+
if (typeof headers.forEach === "function" && typeof headers.get === "function") {
|
|
166
|
+
// Use .forEach which handles multi-value headers by concatenation
|
|
167
|
+
headers.forEach((value, key) => {
|
|
168
|
+
const lowerKey = key.toLowerCase();
|
|
169
|
+
// Set-Cookie is the common multi-value case; split comma for best-effort
|
|
170
|
+
if (lowerKey === "set-cookie") {
|
|
171
|
+
const existing = result[lowerKey];
|
|
172
|
+
const newValue = typeof existing === "string" ? [existing, value] : [...(existing ?? []), value];
|
|
173
|
+
result[lowerKey] = newValue;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
result[lowerKey] = value;
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
return result;
|
|
180
|
+
}
|
|
181
|
+
// Handle plain object
|
|
182
|
+
if (typeof headers === "object") {
|
|
183
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
184
|
+
const lowerKey = key.toLowerCase();
|
|
185
|
+
if (Array.isArray(value)) {
|
|
186
|
+
result[lowerKey] = value.map(String);
|
|
187
|
+
}
|
|
188
|
+
else if (value != null) {
|
|
189
|
+
result[lowerKey] = String(value);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return result;
|
|
194
|
+
}
|
|
70
195
|
// =============================================================================
|
|
71
196
|
// Build a Test from a single case
|
|
72
197
|
// =============================================================================
|
|
@@ -77,6 +202,8 @@ function buildCaseTest(contractId, caseKey, endpoint, c, spec, instanceName, sec
|
|
|
77
202
|
const allTags = [...contractTags, ...caseTags];
|
|
78
203
|
const testId = `${contractId}.${caseKey}`;
|
|
79
204
|
const testName = `${contractId} — ${caseKey}`;
|
|
205
|
+
// Contract-level deprecated propagates to cases (case value wins if both set)
|
|
206
|
+
const effectiveDeprecated = c.deprecated ?? spec.deprecated;
|
|
80
207
|
// Auto-imply: non-headless requires → defaultRun: "opt-in"
|
|
81
208
|
const requires = c.requires ?? "headless";
|
|
82
209
|
const defaultRun = c.defaultRun ?? (requires !== "headless" ? "opt-in" : "always");
|
|
@@ -93,11 +220,16 @@ function buildCaseTest(contractId, caseKey, endpoint, c, spec, instanceName, sec
|
|
|
93
220
|
description: c.description,
|
|
94
221
|
tags: finalTags.length > 0 ? finalTags : undefined,
|
|
95
222
|
deferred: c.deferred,
|
|
223
|
+
deprecated: effectiveDeprecated,
|
|
96
224
|
requires,
|
|
97
225
|
defaultRun,
|
|
98
226
|
};
|
|
99
227
|
const fn = async (ctx) => {
|
|
100
|
-
// 1.
|
|
228
|
+
// 1. Deprecated → skip (takes precedence over deferred)
|
|
229
|
+
if (effectiveDeprecated) {
|
|
230
|
+
ctx.skip(`deprecated: ${effectiveDeprecated}`);
|
|
231
|
+
}
|
|
232
|
+
// 2. Deferred → skip
|
|
101
233
|
if (c.deferred) {
|
|
102
234
|
ctx.skip(c.deferred);
|
|
103
235
|
}
|
|
@@ -110,20 +242,26 @@ function buildCaseTest(contractId, caseKey, endpoint, c, spec, instanceName, sec
|
|
|
110
242
|
throw new Error(`No HTTP client provided for case "${caseKey}". ` +
|
|
111
243
|
`Set "client" on the case or on the contract spec.`);
|
|
112
244
|
}
|
|
113
|
-
// 4. Resolve params and path
|
|
114
|
-
const
|
|
245
|
+
// 4. Resolve params and path (flatten ParamValue objects to strings)
|
|
246
|
+
const rawParams = typeof c.params === "function" ? c.params(state) : c.params;
|
|
247
|
+
const params = flattenParamValues(rawParams);
|
|
115
248
|
const resolvedPath = resolveParams(path, params);
|
|
116
249
|
// 5. Build request options
|
|
117
250
|
const requestOptions = {};
|
|
118
251
|
const body = typeof c.body === "function" ? c.body(state) : c.body;
|
|
119
|
-
|
|
120
|
-
|
|
252
|
+
// Resolve content type: case override > contract default > application/json
|
|
253
|
+
const normalizedRequest = normalizeRequest(spec.request);
|
|
254
|
+
const effectiveContentType = c.contentType ?? normalizedRequest?.contentType ?? "application/json";
|
|
255
|
+
// Dispatch body serialization based on content type
|
|
256
|
+
if (body !== undefined) {
|
|
257
|
+
Object.assign(requestOptions, buildRequestBodyOptions(body, effectiveContentType));
|
|
258
|
+
}
|
|
121
259
|
const headers = typeof c.headers === "function" ? c.headers(state) : c.headers;
|
|
122
260
|
if (headers)
|
|
123
261
|
requestOptions.headers = headers;
|
|
124
262
|
if (c.query) {
|
|
125
|
-
const
|
|
126
|
-
requestOptions.searchParams =
|
|
263
|
+
const rawQuery = typeof c.query === "function" ? c.query(state) : c.query;
|
|
264
|
+
requestOptions.searchParams = flattenParamValues(rawQuery);
|
|
127
265
|
}
|
|
128
266
|
requestOptions.throwHttpErrors = false;
|
|
129
267
|
// 6. Send request
|
|
@@ -142,6 +280,11 @@ function buildCaseTest(contractId, caseKey, endpoint, c, spec, instanceName, sec
|
|
|
142
280
|
}
|
|
143
281
|
// 7. Assert status
|
|
144
282
|
ctx.expect(res).toHaveStatus(c.expect.status);
|
|
283
|
+
// 7b. Validate response headers (if schema provided)
|
|
284
|
+
if (c.expect.headers) {
|
|
285
|
+
const normalizedHeaders = normalizeResponseHeaders(res.headers);
|
|
286
|
+
ctx.validate(normalizedHeaders, c.expect.headers, `${testId} response headers`);
|
|
287
|
+
}
|
|
145
288
|
// 8. Parse response + validate schema
|
|
146
289
|
let parsed;
|
|
147
290
|
if (c.expect.schema) {
|
|
@@ -168,16 +311,24 @@ function buildCaseTest(contractId, caseKey, endpoint, c, spec, instanceName, sec
|
|
|
168
311
|
}
|
|
169
312
|
}
|
|
170
313
|
};
|
|
171
|
-
//
|
|
314
|
+
// Lifecycle normalization: deprecated > deferred > active
|
|
315
|
+
const lifecycle = c.deprecated ? "deprecated" :
|
|
316
|
+
c.deferred ? "deferred" :
|
|
317
|
+
"active";
|
|
318
|
+
const severity = c.severity ?? "warning";
|
|
319
|
+
// Register to global registry with protocol-agnostic contract metadata
|
|
172
320
|
const registryMeta = {
|
|
173
|
-
endpoint,
|
|
321
|
+
target: endpoint,
|
|
174
322
|
protocol: "http",
|
|
175
323
|
caseKey,
|
|
176
|
-
|
|
324
|
+
lifecycle,
|
|
325
|
+
severity,
|
|
177
326
|
hasSchema: !!c.expect.schema,
|
|
178
|
-
deferred: c.deferred,
|
|
179
327
|
instanceName,
|
|
180
|
-
|
|
328
|
+
protocolMeta: {
|
|
329
|
+
...(security != null ? { security } : {}),
|
|
330
|
+
expect: { status: c.expect.status },
|
|
331
|
+
},
|
|
181
332
|
};
|
|
182
333
|
registerTest({
|
|
183
334
|
id: testId,
|
|
@@ -202,16 +353,67 @@ function contractHttp(id, spec, instanceName, security) {
|
|
|
202
353
|
// Resolve effective requires/defaultRun (same logic as buildCaseTest)
|
|
203
354
|
const effectiveRequires = caseSpec.requires ?? "headless";
|
|
204
355
|
const effectiveDefaultRun = caseSpec.defaultRun ?? (effectiveRequires !== "headless" ? "opt-in" : "always");
|
|
356
|
+
// Effective deprecated: case wins, fall back to contract-level
|
|
357
|
+
const effectiveDeprecated = caseSpec.deprecated ?? spec.deprecated;
|
|
358
|
+
// Lifecycle normalization: deprecated > deferred > active
|
|
359
|
+
const lifecycle = effectiveDeprecated ? "deprecated" :
|
|
360
|
+
caseSpec.deferred ? "deferred" :
|
|
361
|
+
"active";
|
|
362
|
+
// Extract per-param schemas (only from object-shaped ParamValues, not string shorthand)
|
|
363
|
+
const paramSchemas = extractParamMetaSchemas(caseSpec.params);
|
|
364
|
+
const querySchemas = extractParamMetaSchemas(caseSpec.query);
|
|
365
|
+
// Merge case-level extensions over contract-level (spec.extensions is already defaults+contract merged)
|
|
366
|
+
const caseExtensions = mergeExtensions(spec.extensions, caseSpec.extensions);
|
|
205
367
|
caseSchemas[caseKey] = {
|
|
206
368
|
expectStatus: caseSpec.expect.status,
|
|
207
369
|
responseSchema: caseSpec.expect.schema,
|
|
370
|
+
responseHeaders: caseSpec.expect.headers,
|
|
371
|
+
responseContentType: caseSpec.expect.contentType,
|
|
372
|
+
example: caseSpec.expect.example,
|
|
373
|
+
examples: caseSpec.expect.examples,
|
|
374
|
+
paramSchemas,
|
|
375
|
+
querySchemas,
|
|
208
376
|
description: caseSpec.description,
|
|
209
377
|
deferred: caseSpec.deferred,
|
|
378
|
+
deprecated: effectiveDeprecated,
|
|
379
|
+
severity: caseSpec.severity,
|
|
380
|
+
lifecycle,
|
|
210
381
|
requires: effectiveRequires,
|
|
211
382
|
defaultRun: effectiveDefaultRun,
|
|
383
|
+
extensions: caseExtensions,
|
|
212
384
|
};
|
|
213
385
|
}
|
|
214
|
-
|
|
386
|
+
// Normalize request (SchemaLike or RequestSpec object → { body, contentType })
|
|
387
|
+
const normalizedReq = normalizeRequest(spec.request);
|
|
388
|
+
const requestBodySchema = normalizedReq?.body;
|
|
389
|
+
const requestContentType = normalizedReq?.contentType;
|
|
390
|
+
return createHttpContract(id, spec.endpoint, tests, requestBodySchema, spec.description, spec.feature, caseSchemas, instanceName, security, spec.deprecated, spec.extensions, requestContentType);
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Extract per-param schema metadata from a params/query object.
|
|
394
|
+
* Only collects entries where the ParamValue is an object (has `.value` + optional schema/description).
|
|
395
|
+
* String shorthand values produce no metadata.
|
|
396
|
+
*/
|
|
397
|
+
function extractParamMetaSchemas(params) {
|
|
398
|
+
if (!params || typeof params === "function")
|
|
399
|
+
return undefined;
|
|
400
|
+
const result = {};
|
|
401
|
+
let hasAny = false;
|
|
402
|
+
for (const [key, val] of Object.entries(params)) {
|
|
403
|
+
if (val && typeof val === "object" && !Array.isArray(val) && "value" in val) {
|
|
404
|
+
const pv = val;
|
|
405
|
+
if (pv.schema !== undefined || pv.description !== undefined || pv.required !== undefined || pv.deprecated !== undefined) {
|
|
406
|
+
result[key] = {
|
|
407
|
+
schema: pv.schema,
|
|
408
|
+
description: pv.description,
|
|
409
|
+
required: pv.required,
|
|
410
|
+
deprecated: pv.deprecated,
|
|
411
|
+
};
|
|
412
|
+
hasAny = true;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
return hasAny ? result : undefined;
|
|
215
417
|
}
|
|
216
418
|
class FlowBuilder {
|
|
217
419
|
_id;
|
|
@@ -400,13 +602,28 @@ function mergeHttpDefaults(defaults, spec) {
|
|
|
400
602
|
...(defaults.tags ?? []),
|
|
401
603
|
...(spec.tags ?? []),
|
|
402
604
|
];
|
|
605
|
+
// Merge extensions: defaults < contract (contract key overrides defaults key)
|
|
606
|
+
const mergedExtensions = mergeExtensions(defaults.extensions, spec.extensions);
|
|
403
607
|
return {
|
|
404
608
|
...spec,
|
|
405
609
|
client: spec.client ?? defaults.client,
|
|
406
610
|
feature: spec.feature ?? defaults.feature,
|
|
407
611
|
tags: mergedTags.length > 0 ? mergedTags : undefined,
|
|
612
|
+
extensions: mergedExtensions,
|
|
408
613
|
};
|
|
409
614
|
}
|
|
615
|
+
/**
|
|
616
|
+
* Merge two Extensions records. Right wins on key conflict.
|
|
617
|
+
* Returns undefined if result would be empty.
|
|
618
|
+
*/
|
|
619
|
+
function mergeExtensions(base, override) {
|
|
620
|
+
if (!base && !override)
|
|
621
|
+
return undefined;
|
|
622
|
+
const merged = { ...(base ?? {}), ...(override ?? {}) };
|
|
623
|
+
return Object.keys(merged).length > 0
|
|
624
|
+
? merged
|
|
625
|
+
: undefined;
|
|
626
|
+
}
|
|
410
627
|
/**
|
|
411
628
|
* Create an HTTP contract factory with `.with()` support.
|
|
412
629
|
* The factory is callable (same signature as contractHttp) and chainable.
|
|
@@ -428,10 +645,12 @@ function createHttpFactory(defaults) {
|
|
|
428
645
|
};
|
|
429
646
|
factory.with = (name, more) => {
|
|
430
647
|
const mergedTags = [...(defaults?.tags ?? []), ...(more.tags ?? [])];
|
|
648
|
+
const mergedExtensions = mergeExtensions(defaults?.extensions, more.extensions);
|
|
431
649
|
return createHttpFactory({
|
|
432
650
|
...defaults,
|
|
433
651
|
...more,
|
|
434
652
|
tags: mergedTags.length > 0 ? mergedTags : undefined,
|
|
653
|
+
extensions: mergedExtensions,
|
|
435
654
|
_name: name,
|
|
436
655
|
});
|
|
437
656
|
};
|
|
@@ -455,25 +674,75 @@ export const contract = {
|
|
|
455
674
|
_adapters.set(protocol, adapter);
|
|
456
675
|
// Dynamically attach contract[protocol]()
|
|
457
676
|
contract[protocol] = (id, spec) => {
|
|
458
|
-
|
|
677
|
+
// Get projection from adapter v2
|
|
678
|
+
const projection = adapter.project(spec);
|
|
679
|
+
// Validate: no duplicate keys in projected cases
|
|
680
|
+
const projKeyList = projection.cases.map(c => c.key);
|
|
681
|
+
const projKeySet = new Set(projKeyList);
|
|
682
|
+
if (projKeySet.size !== projKeyList.length) {
|
|
683
|
+
const dupes = projKeyList.filter((k, i) => projKeyList.indexOf(k) !== i);
|
|
684
|
+
throw new Error(`contract.register("${protocol}"): project() returned duplicate case key(s): ${[...new Set(dupes)].join(", ")}. ` +
|
|
685
|
+
`Each projected case key must be unique.`);
|
|
686
|
+
}
|
|
687
|
+
// Validate 1:1 key invariant between projection and spec.cases
|
|
688
|
+
const specKeys = new Set(Object.keys(spec.cases ?? {}));
|
|
689
|
+
for (const key of projKeySet) {
|
|
690
|
+
if (!specKeys.has(key)) {
|
|
691
|
+
throw new Error(`contract.register("${protocol}"): project() returned case "${key}" not present in spec.cases. ` +
|
|
692
|
+
`Projected cases must 1:1 match spec.cases keys.`);
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
for (const key of specKeys) {
|
|
696
|
+
if (!projKeySet.has(key)) {
|
|
697
|
+
throw new Error(`contract.register("${protocol}"): spec.cases has "${key}" but project() did not return it. ` +
|
|
698
|
+
`Projected cases must 1:1 match spec.cases keys.`);
|
|
699
|
+
}
|
|
700
|
+
}
|
|
459
701
|
const cases = spec.cases ?? {};
|
|
460
702
|
const contractTags = spec.tags ? (Array.isArray(spec.tags) ? spec.tags : [spec.tags]) : [];
|
|
703
|
+
// Build a lookup from projection cases by key
|
|
704
|
+
const projCaseMap = new Map(projection.cases.map(c => [c.key, c]));
|
|
461
705
|
const tests = Object.entries(cases).map(([caseKey, caseSpec]) => {
|
|
462
706
|
const testId = `${id}.${caseKey}`;
|
|
463
707
|
const testName = `${id} — ${caseKey}`;
|
|
464
708
|
const caseTags = caseSpec.tags ?? [];
|
|
465
709
|
const allTags = [...contractTags, ...caseTags];
|
|
710
|
+
const projCase = projCaseMap.get(caseKey);
|
|
711
|
+
// Derive runtime requires/defaultRun from projection (authoritative)
|
|
712
|
+
// with case spec as fallback, mirroring HTTP path logic
|
|
713
|
+
const requires = projCase.requires ?? caseSpec.requires ?? "headless";
|
|
714
|
+
const defaultRun = projCase.defaultRun ?? caseSpec.defaultRun ?? (requires !== "headless" ? "opt-in" : "always");
|
|
715
|
+
// Runtime tags from requires/defaultRun
|
|
716
|
+
const runtimeTags = [];
|
|
717
|
+
if (requires !== "headless")
|
|
718
|
+
runtimeTags.push(`requires:${requires}`);
|
|
719
|
+
if (defaultRun === "opt-in")
|
|
720
|
+
runtimeTags.push("default-run:opt-in");
|
|
721
|
+
const finalTags = [...allTags, ...runtimeTags];
|
|
722
|
+
// Derive skip from projected lifecycle (authoritative), not just caseSpec fields
|
|
723
|
+
const skipDeprecated = projCase.lifecycle === "deprecated"
|
|
724
|
+
? `deprecated: ${projCase.deprecatedReason ?? caseSpec.deprecated ?? "deprecated"}`
|
|
725
|
+
: caseSpec.deprecated ? `deprecated: ${caseSpec.deprecated}` : undefined;
|
|
726
|
+
const skipDeferred = projCase.lifecycle === "deferred"
|
|
727
|
+
? (projCase.deferredReason ?? caseSpec.deferred ?? "deferred")
|
|
728
|
+
: caseSpec.deferred;
|
|
466
729
|
const testDef = {
|
|
467
730
|
meta: {
|
|
468
731
|
id: testId,
|
|
469
732
|
name: testName,
|
|
470
|
-
|
|
471
|
-
|
|
733
|
+
description: projCase.description,
|
|
734
|
+
tags: finalTags.length > 0 ? finalTags : undefined,
|
|
735
|
+
deferred: skipDeferred,
|
|
736
|
+
deprecated: skipDeprecated ? (projCase.deprecatedReason ?? caseSpec.deprecated ?? "deprecated") : undefined,
|
|
737
|
+
requires,
|
|
738
|
+
defaultRun,
|
|
472
739
|
},
|
|
473
740
|
type: "simple",
|
|
474
741
|
fn: async (ctx) => {
|
|
475
|
-
if (
|
|
476
|
-
ctx.skip(
|
|
742
|
+
if (skipDeprecated)
|
|
743
|
+
ctx.skip(skipDeprecated);
|
|
744
|
+
if (skipDeferred)
|
|
745
|
+
ctx.skip(skipDeferred);
|
|
477
746
|
await adapter.execute(ctx, caseSpec, spec);
|
|
478
747
|
},
|
|
479
748
|
};
|
|
@@ -481,20 +750,31 @@ export const contract = {
|
|
|
481
750
|
id: testId,
|
|
482
751
|
name: testName,
|
|
483
752
|
type: "simple",
|
|
484
|
-
tags:
|
|
753
|
+
tags: finalTags.length > 0 ? finalTags : undefined,
|
|
485
754
|
groupId: id,
|
|
755
|
+
requires,
|
|
756
|
+
defaultRun,
|
|
486
757
|
contract: {
|
|
487
|
-
|
|
488
|
-
protocol,
|
|
758
|
+
target: projection.target,
|
|
759
|
+
protocol: projection.protocol,
|
|
489
760
|
caseKey,
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
761
|
+
lifecycle: projCase.lifecycle,
|
|
762
|
+
severity: projCase.severity,
|
|
763
|
+
hasSchema: projCase.responseSchema != null,
|
|
764
|
+
instanceName: projection.instanceName,
|
|
765
|
+
protocolMeta: {
|
|
766
|
+
...(projection.protocolMeta ?? {}),
|
|
767
|
+
...(projCase.protocolExpect ? { expect: projCase.protocolExpect } : {}),
|
|
768
|
+
...(projCase.protocolMeta ?? {}),
|
|
769
|
+
},
|
|
493
770
|
},
|
|
494
771
|
});
|
|
495
772
|
return testDef;
|
|
496
773
|
});
|
|
497
|
-
|
|
774
|
+
// Inject contract id into projection (adapter doesn't know the user-supplied id)
|
|
775
|
+
const enrichedProjection = { ...projection, id };
|
|
776
|
+
// Return ProtocolContract — Test[] with _projection carrier
|
|
777
|
+
return Object.assign(tests, { _projection: enrichedProjection });
|
|
498
778
|
};
|
|
499
779
|
},
|
|
500
780
|
};
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -724,7 +724,7 @@ export type { FromCsvOptions, FromDirConcatOptions, FromDirOptions, FromJsonOpti
|
|
|
724
724
|
export { configure, resolveTemplate } from "./configure.js";
|
|
725
725
|
export { definePlugin } from "./plugin.js";
|
|
726
726
|
export { contract } from "./contract.js";
|
|
727
|
-
export type { ContractCase, ContractExpect, HttpContractSpec, HttpContract, HttpContractDefaults, HttpContractRoot, HttpContractFactory, HttpSecurityScheme, ContractProtocolAdapter, ContractCaseMeta, ContractRegistryMeta, CaseRequires, CaseDefaultRun, } from "./contract-types.js";
|
|
727
|
+
export type { ContractCase, ContractExpect, HttpContractSpec, HttpContract, HttpContractDefaults, HttpContractRoot, HttpContractFactory, HttpSecurityScheme, ContractProtocolAdapter, ContractCaseMeta, ContractRegistryMeta, CaseRequires, CaseDefaultRun, CaseLifecycle, CaseSeverity, FailureKind, FailureClassification, ContractProjection, ProtocolContract, NormalizedHeaders, ContractExample, ParamValue, Extensions, RequestSpec, } from "./contract-types.js";
|
|
728
728
|
export { defineSession, session } from "./session.js";
|
|
729
729
|
export { Expectation, ExpectFailError } from "./expect.js";
|
|
730
730
|
export type { AssertEmitter, AssertionEmission, CustomMatchers, MatcherFn, MatcherResult } from "./expect.js";
|