@nifrajs/testing 2.3.0 → 2.5.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/README.md +26 -0
- package/dist/adversarial.d.ts +16 -1
- package/dist/adversarial.d.ts.map +1 -1
- package/dist/adversarial.js +33 -3
- package/dist/adversarial.js.map +1 -1
- package/dist/zod.d.ts +31 -0
- package/dist/zod.d.ts.map +1 -0
- package/dist/zod.js +27 -0
- package/dist/zod.js.map +1 -0
- package/package.json +17 -4
- package/src/adversarial.ts +63 -3
- package/src/zod.ts +45 -0
package/README.md
CHANGED
|
@@ -68,6 +68,32 @@ const report = await assertAdversarialContract(app, {
|
|
|
68
68
|
request for each declared response schema, so use an isolated test app/database-never point the
|
|
69
69
|
laboratory at production.
|
|
70
70
|
|
|
71
|
+
### Opaque validators (zod / valibot / arktype)
|
|
72
|
+
|
|
73
|
+
A `t` schema exposes JSON Schema, so witnesses and constraint-driven mutations are synthesized
|
|
74
|
+
automatically. A Standard Schema validator that carries no JSON Schema (zod, valibot, arktype) validates
|
|
75
|
+
requests fine, but the laboratory can't inspect it - those routes report `NO_WITNESS` and get only
|
|
76
|
+
type-confusion mutations. Pass `reflectJsonSchema` to convert such a validator; for zod, use the shipped
|
|
77
|
+
bridge:
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
import { zodJsonSchema } from "@nifrajs/testing/zod"
|
|
81
|
+
|
|
82
|
+
await assertAdversarialContract(app, { reflectJsonSchema: zodJsonSchema })
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
This turns on witness synthesis and constraint-driven mutations (min/max, length, pattern, enum, format)
|
|
86
|
+
for zod routes. `createMockServer` from `@nifrajs/mock` accepts the same hook. `zod` is an optional peer -
|
|
87
|
+
only projects that import `@nifrajs/testing/zod` need it installed.
|
|
88
|
+
|
|
89
|
+
### Response conformance needs a declared contract
|
|
90
|
+
|
|
91
|
+
Response conformance only runs for routes that declare a `response` schema. A response type inferred from a
|
|
92
|
+
handler's return is a client-side contract the laboratory cannot see, so an app that declares none checks
|
|
93
|
+
zero response targets even with `validateResponses` on - the report surfaces this in `advisories`. Declare
|
|
94
|
+
`response:` on the routes you want verified. (Runtime response validation in the server itself is a
|
|
95
|
+
separate opt-in, installed by the `responseContract()` plugin.)
|
|
96
|
+
|
|
71
97
|
`nifra levels` L4 uses this same deep engine through the explicitly configured isolated executor;
|
|
72
98
|
the older core invariant runner remains only as a compatibility export.
|
|
73
99
|
|
package/dist/adversarial.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Schema validator, and then drives it through one or more real fetch runtimes. Declared success
|
|
7
7
|
* responses are validated off the hot path as part of the same laboratory run.
|
|
8
8
|
*/
|
|
9
|
-
import { type ReflectedRoute } from "@nifrajs/core/reflection";
|
|
9
|
+
import { type JsonSchema, type ReflectedRoute } from "@nifrajs/core/reflection";
|
|
10
10
|
type HeaderSource = ConstructorParameters<typeof Headers>[0];
|
|
11
11
|
export type ContractTarget = "body" | "query" | "response";
|
|
12
12
|
export type ContractCaseKind = "input-rejection" | "response-conformance";
|
|
@@ -71,6 +71,19 @@ export interface AdversarialContractOptions {
|
|
|
71
71
|
readonly maxShrinkAttempts?: number;
|
|
72
72
|
/** Replay only these stable case IDs. Coverage gaps are advisory when this is set. */
|
|
73
73
|
readonly only?: string | readonly string[];
|
|
74
|
+
/**
|
|
75
|
+
* Derive an inspectable JSON Schema from a validator that carries none (zod/valibot/arktype expose a
|
|
76
|
+
* Standard Schema validator but no `.jsonSchema`). Called for any body/query schema whose `jsonSchema`
|
|
77
|
+
* is undefined; a non-undefined return turns on witness synthesis AND constraint-driven mutation
|
|
78
|
+
* generation for that route. Fail-safe: throwing or returning undefined leaves the schema opaque
|
|
79
|
+
* (NO_WITNESS, as today). Ready-made for zod: `import { zodJsonSchema } from "@nifrajs/testing/zod"`.
|
|
80
|
+
*
|
|
81
|
+
* Defaults to `@nifrajs/mock`'s `autoReflectJsonSchema`, which recognizes zod by its Standard Schema
|
|
82
|
+
* vendor tag and converts via `z.toJSONSchema` when zod is installed - so zod routes get witnesses and
|
|
83
|
+
* constraint-driven mutations with no wiring. Pass a hook to override, or `() => undefined` to force
|
|
84
|
+
* every opaque schema to stay opaque.
|
|
85
|
+
*/
|
|
86
|
+
readonly reflectJsonSchema?: (schema: unknown) => JsonSchema | undefined;
|
|
74
87
|
}
|
|
75
88
|
export type ContractCoverageGapCode = "NO_CONTRACT_TARGETS" | "NO_VALIDATOR" | "NO_WITNESS" | "INVALID_WITNESS" | "WITNESS_TOO_LARGE" | "UNSUPPORTED_BODY_METHOD" | "NO_REJECTED_MUTATION" | "NO_RUNTIME" | "INVALID_RUNTIME" | "CASE_NOT_FOUND";
|
|
76
89
|
export interface ContractCoverageGap {
|
|
@@ -107,6 +120,8 @@ export interface AdversarialContractReport {
|
|
|
107
120
|
readonly results: readonly AdversarialContractResult[];
|
|
108
121
|
readonly failures: readonly AdversarialContractResult[];
|
|
109
122
|
readonly gaps: readonly ContractCoverageGap[];
|
|
123
|
+
/** Non-fatal notes about coverage that is legitimately absent (does not affect `ok`). */
|
|
124
|
+
readonly advisories: readonly string[];
|
|
110
125
|
readonly counts: {
|
|
111
126
|
readonly passed: number;
|
|
112
127
|
readonly failed: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adversarial.d.ts","sourceRoot":"","sources":["../src/adversarial.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"adversarial.d.ts","sourceRoot":"","sources":["../src/adversarial.ts"],"names":[],"mappings":"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"}
|
package/dist/adversarial.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* responses are validated off the hot path as part of the same laboratory run.
|
|
8
8
|
*/
|
|
9
9
|
import { reflectRoutes, } from "@nifrajs/core/reflection";
|
|
10
|
-
import { generateMockValue } from "@nifrajs/mock";
|
|
10
|
+
import { autoReflectJsonSchema, generateMockValue } from "@nifrajs/mock";
|
|
11
11
|
const DEFAULT_ORIGIN = "http://nifra.contract";
|
|
12
12
|
const DEFAULT_SEED = 0x4e_49_46_52;
|
|
13
13
|
const DEFAULT_MAX_MUTATIONS = 32;
|
|
@@ -270,6 +270,24 @@ const queryInput = (value) => {
|
|
|
270
270
|
}
|
|
271
271
|
return result;
|
|
272
272
|
};
|
|
273
|
+
/** Return a reflection with `jsonSchema` backfilled from `reflect(standard)` when it is otherwise absent.
|
|
274
|
+
* No-op when the reflection already has a JSON Schema, has no validator, or no hook is supplied. A hook
|
|
275
|
+
* that throws is swallowed - the schema stays opaque, exactly as before the hook existed. This is what
|
|
276
|
+
* lets an opaque validator (zod/valibot) get witness synthesis + constraint-driven mutations. */
|
|
277
|
+
const withReflectedJsonSchema = (reflection, reflect) => {
|
|
278
|
+
if (reflect === undefined ||
|
|
279
|
+
reflection.jsonSchema !== undefined ||
|
|
280
|
+
reflection.standard === undefined) {
|
|
281
|
+
return reflection;
|
|
282
|
+
}
|
|
283
|
+
try {
|
|
284
|
+
const jsonSchema = reflect(reflection.standard);
|
|
285
|
+
return jsonSchema === undefined ? reflection : { ...reflection, jsonSchema };
|
|
286
|
+
}
|
|
287
|
+
catch {
|
|
288
|
+
return reflection;
|
|
289
|
+
}
|
|
290
|
+
};
|
|
273
291
|
async function resolveInput(routeKey, target, reflection, witness, seed, maxWitnessBytes) {
|
|
274
292
|
if (reflection.standard === undefined) {
|
|
275
293
|
return {
|
|
@@ -513,7 +531,7 @@ async function buildLaboratories(routes, options, seed, gaps) {
|
|
|
513
531
|
});
|
|
514
532
|
}
|
|
515
533
|
else {
|
|
516
|
-
const resolved = await resolveInput(routeKey, "body", route.schema.body, witness, seed, maxWitnessBytes);
|
|
534
|
+
const resolved = await resolveInput(routeKey, "body", withReflectedJsonSchema(route.schema.body, options.reflectJsonSchema ?? autoReflectJsonSchema), witness, seed, maxWitnessBytes);
|
|
517
535
|
if (resolved.ok)
|
|
518
536
|
body = resolved.input;
|
|
519
537
|
else
|
|
@@ -522,7 +540,7 @@ async function buildLaboratories(routes, options, seed, gaps) {
|
|
|
522
540
|
}
|
|
523
541
|
if (route.schema?.query !== undefined) {
|
|
524
542
|
targetCount += 1;
|
|
525
|
-
const resolved = await resolveInput(routeKey, "query", route.schema.query, witness, seed, maxWitnessBytes);
|
|
543
|
+
const resolved = await resolveInput(routeKey, "query", withReflectedJsonSchema(route.schema.query, options.reflectJsonSchema ?? autoReflectJsonSchema), witness, seed, maxWitnessBytes);
|
|
526
544
|
if (resolved.ok)
|
|
527
545
|
query = resolved.input;
|
|
528
546
|
else
|
|
@@ -737,6 +755,17 @@ export async function runAdversarialContract(app, options = {}) {
|
|
|
737
755
|
}
|
|
738
756
|
const coverageRequired = options.requireCoverage ?? options.only === undefined;
|
|
739
757
|
const fatalGap = gaps.some((gap) => gap.code === "NO_RUNTIME" || gap.code === "INVALID_RUNTIME" || gap.code === "CASE_NOT_FOUND");
|
|
758
|
+
// Non-fatal: surface the silent-zero-coverage trap. Response conformance needs a DECLARED `response`
|
|
759
|
+
// schema; a response type inferred from the handler return is a client-side contract the laboratory
|
|
760
|
+
// cannot see. Left as an advisory (not a gap) so an inference-only app's suite stays green.
|
|
761
|
+
const advisories = [];
|
|
762
|
+
if (options.validateResponses !== false &&
|
|
763
|
+
routes.length > 0 &&
|
|
764
|
+
!laboratories.some((laboratory) => laboratory.route.schema?.response !== undefined)) {
|
|
765
|
+
advisories.push("validateResponses is on, but no selected route declares a `response` schema, so response " +
|
|
766
|
+
"conformance checked 0 targets. Response types inferred from a handler's return are a client-side " +
|
|
767
|
+
"contract only - declare `response:` on the routes you want the laboratory to verify.");
|
|
768
|
+
}
|
|
740
769
|
return {
|
|
741
770
|
ok: failures.length === 0 && !fatalGap && (!coverageRequired || gaps.length === 0),
|
|
742
771
|
seed,
|
|
@@ -746,6 +775,7 @@ export async function runAdversarialContract(app, options = {}) {
|
|
|
746
775
|
results,
|
|
747
776
|
failures,
|
|
748
777
|
gaps,
|
|
778
|
+
advisories,
|
|
749
779
|
counts: {
|
|
750
780
|
passed: results.length - failures.length,
|
|
751
781
|
failed: failures.length,
|
package/dist/adversarial.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adversarial.js","sourceRoot":"","sources":["../src/adversarial.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adversarial.js","sourceRoot":"","sources":["../src/adversarial.ts"],"names":[],"mappings":"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"}
|
package/dist/zod.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@nifrajs/testing/zod` - bridge a zod schema to the inspectable JSON Schema the adversarial laboratory
|
|
3
|
+
* and `@nifrajs/mock` generate from. zod implements Standard Schema (nifra already VALIDATES with it) but
|
|
4
|
+
* carries no `.jsonSchema`, so without a bridge the laboratory reports NO_WITNESS for every zod route and
|
|
5
|
+
* emits only generic type-confusion mutations, and the mock server returns `{}` for zod responses.
|
|
6
|
+
*
|
|
7
|
+
* Since the vendor-sniffing default (`@nifrajs/mock`'s `autoReflectJsonSchema`), the laboratory and the
|
|
8
|
+
* mock server apply this bridge AUTOMATICALLY when zod is installed - no wiring. This module remains the
|
|
9
|
+
* EXPLICIT form: pass it when you want the conversion pinned regardless of the default's behavior, or as
|
|
10
|
+
* the base of a custom hook that handles more vendors:
|
|
11
|
+
*
|
|
12
|
+
* import { zodJsonSchema } from "@nifrajs/testing/zod"
|
|
13
|
+
* await assertAdversarialContract(app, { reflectJsonSchema: zodJsonSchema })
|
|
14
|
+
* // and/or: createMockServer(app, { reflectJsonSchema: zodJsonSchema })
|
|
15
|
+
*
|
|
16
|
+
* zod is an OPTIONAL peer: this module is only reachable through the `./zod` subpath, so a non-zod project
|
|
17
|
+
* never loads zod. Requires the `z.toJSONSchema` era (zod 4; verified against 4.4.3).
|
|
18
|
+
*/
|
|
19
|
+
import type { JsonSchema } from "@nifrajs/core/reflection";
|
|
20
|
+
/**
|
|
21
|
+
* Convert a zod schema to a JSON Schema the mock/mutation generators understand, or `undefined` when the
|
|
22
|
+
* value is not a convertible zod schema. Options chosen for this consumer:
|
|
23
|
+
* - target "draft-7" → the keyword set `@nifrajs/mock` + the laboratory's `candidateMutations` read
|
|
24
|
+
* - io "input" → the request-side constraints a hostile payload must violate (pre-transform)
|
|
25
|
+
* - reused "inline" → no `$ref`/`$defs`; the mock generator fails closed on `$ref`
|
|
26
|
+
*
|
|
27
|
+
* Fail-safe: a non-zod value, or an unconvertible schema, returns `undefined` → the schema stays opaque
|
|
28
|
+
* (NO_WITNESS / `{}`), exactly as before this bridge existed.
|
|
29
|
+
*/
|
|
30
|
+
export declare function zodJsonSchema(schema: unknown): JsonSchema | undefined;
|
|
31
|
+
//# sourceMappingURL=zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAQ1D;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAQrE"}
|
package/dist/zod.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
// Accessed defensively so a zod build without `toJSONSchema` degrades to today's behavior rather than
|
|
3
|
+
// crashing at import. Present since zod 4.
|
|
4
|
+
const toJSONSchema = z
|
|
5
|
+
.toJSONSchema;
|
|
6
|
+
/**
|
|
7
|
+
* Convert a zod schema to a JSON Schema the mock/mutation generators understand, or `undefined` when the
|
|
8
|
+
* value is not a convertible zod schema. Options chosen for this consumer:
|
|
9
|
+
* - target "draft-7" → the keyword set `@nifrajs/mock` + the laboratory's `candidateMutations` read
|
|
10
|
+
* - io "input" → the request-side constraints a hostile payload must violate (pre-transform)
|
|
11
|
+
* - reused "inline" → no `$ref`/`$defs`; the mock generator fails closed on `$ref`
|
|
12
|
+
*
|
|
13
|
+
* Fail-safe: a non-zod value, or an unconvertible schema, returns `undefined` → the schema stays opaque
|
|
14
|
+
* (NO_WITNESS / `{}`), exactly as before this bridge existed.
|
|
15
|
+
*/
|
|
16
|
+
export function zodJsonSchema(schema) {
|
|
17
|
+
if (typeof toJSONSchema !== "function")
|
|
18
|
+
return undefined;
|
|
19
|
+
try {
|
|
20
|
+
const json = toJSONSchema(schema, { target: "draft-7", io: "input", reused: "inline" });
|
|
21
|
+
return json === null || json === undefined ? undefined : json;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=zod.js.map
|
package/dist/zod.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,sGAAsG;AACtG,2CAA2C;AAC3C,MAAM,YAAY,GAAI,CAAwE;KAC3F,YAAY,CAAA;AAEf;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe;IAC3C,IAAI,OAAO,YAAY,KAAK,UAAU;QAAE,OAAO,SAAS,CAAA;IACxD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QACvF,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAmB,CAAA;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nifrajs/testing",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "Contract-derived adversarial tests, runtime-matrix response conformance, and cookie-aware in-process sessions for Nifra apps.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bun",
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
"bun": "./src/certification.ts",
|
|
26
26
|
"types": "./dist/certification.d.ts",
|
|
27
27
|
"default": "./dist/certification.js"
|
|
28
|
+
},
|
|
29
|
+
"./zod": {
|
|
30
|
+
"bun": "./src/zod.ts",
|
|
31
|
+
"types": "./dist/zod.d.ts",
|
|
32
|
+
"default": "./dist/zod.js"
|
|
28
33
|
}
|
|
29
34
|
},
|
|
30
35
|
"files": [
|
|
@@ -37,9 +42,17 @@
|
|
|
37
42
|
},
|
|
38
43
|
"license": "MIT",
|
|
39
44
|
"dependencies": {
|
|
40
|
-
"@nifrajs/client": "2.
|
|
41
|
-
"@nifrajs/core": "2.
|
|
42
|
-
"@nifrajs/mock": "2.
|
|
45
|
+
"@nifrajs/client": "2.5.0",
|
|
46
|
+
"@nifrajs/core": "2.5.0",
|
|
47
|
+
"@nifrajs/mock": "2.5.0"
|
|
48
|
+
},
|
|
49
|
+
"peerDependencies": {
|
|
50
|
+
"zod": ">=4.0.0"
|
|
51
|
+
},
|
|
52
|
+
"peerDependenciesMeta": {
|
|
53
|
+
"zod": {
|
|
54
|
+
"optional": true
|
|
55
|
+
}
|
|
43
56
|
},
|
|
44
57
|
"publishConfig": {
|
|
45
58
|
"access": "public"
|
package/src/adversarial.ts
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
reflectRoutes,
|
|
14
14
|
type SchemaReflection,
|
|
15
15
|
} from "@nifrajs/core/reflection"
|
|
16
|
-
import { generateMockValue } from "@nifrajs/mock"
|
|
16
|
+
import { autoReflectJsonSchema, generateMockValue } from "@nifrajs/mock"
|
|
17
17
|
|
|
18
18
|
const DEFAULT_ORIGIN = "http://nifra.contract"
|
|
19
19
|
const DEFAULT_SEED = 0x4e_49_46_52
|
|
@@ -98,6 +98,19 @@ export interface AdversarialContractOptions {
|
|
|
98
98
|
readonly maxShrinkAttempts?: number
|
|
99
99
|
/** Replay only these stable case IDs. Coverage gaps are advisory when this is set. */
|
|
100
100
|
readonly only?: string | readonly string[]
|
|
101
|
+
/**
|
|
102
|
+
* Derive an inspectable JSON Schema from a validator that carries none (zod/valibot/arktype expose a
|
|
103
|
+
* Standard Schema validator but no `.jsonSchema`). Called for any body/query schema whose `jsonSchema`
|
|
104
|
+
* is undefined; a non-undefined return turns on witness synthesis AND constraint-driven mutation
|
|
105
|
+
* generation for that route. Fail-safe: throwing or returning undefined leaves the schema opaque
|
|
106
|
+
* (NO_WITNESS, as today). Ready-made for zod: `import { zodJsonSchema } from "@nifrajs/testing/zod"`.
|
|
107
|
+
*
|
|
108
|
+
* Defaults to `@nifrajs/mock`'s `autoReflectJsonSchema`, which recognizes zod by its Standard Schema
|
|
109
|
+
* vendor tag and converts via `z.toJSONSchema` when zod is installed - so zod routes get witnesses and
|
|
110
|
+
* constraint-driven mutations with no wiring. Pass a hook to override, or `() => undefined` to force
|
|
111
|
+
* every opaque schema to stay opaque.
|
|
112
|
+
*/
|
|
113
|
+
readonly reflectJsonSchema?: (schema: unknown) => JsonSchema | undefined
|
|
101
114
|
}
|
|
102
115
|
|
|
103
116
|
export type ContractCoverageGapCode =
|
|
@@ -149,6 +162,8 @@ export interface AdversarialContractReport {
|
|
|
149
162
|
readonly results: readonly AdversarialContractResult[]
|
|
150
163
|
readonly failures: readonly AdversarialContractResult[]
|
|
151
164
|
readonly gaps: readonly ContractCoverageGap[]
|
|
165
|
+
/** Non-fatal notes about coverage that is legitimately absent (does not affect `ok`). */
|
|
166
|
+
readonly advisories: readonly string[]
|
|
152
167
|
readonly counts: {
|
|
153
168
|
readonly passed: number
|
|
154
169
|
readonly failed: number
|
|
@@ -491,6 +506,29 @@ const queryInput = (value: unknown): unknown | undefined => {
|
|
|
491
506
|
return result
|
|
492
507
|
}
|
|
493
508
|
|
|
509
|
+
/** Return a reflection with `jsonSchema` backfilled from `reflect(standard)` when it is otherwise absent.
|
|
510
|
+
* No-op when the reflection already has a JSON Schema, has no validator, or no hook is supplied. A hook
|
|
511
|
+
* that throws is swallowed - the schema stays opaque, exactly as before the hook existed. This is what
|
|
512
|
+
* lets an opaque validator (zod/valibot) get witness synthesis + constraint-driven mutations. */
|
|
513
|
+
const withReflectedJsonSchema = (
|
|
514
|
+
reflection: SchemaReflection,
|
|
515
|
+
reflect: AdversarialContractOptions["reflectJsonSchema"],
|
|
516
|
+
): SchemaReflection => {
|
|
517
|
+
if (
|
|
518
|
+
reflect === undefined ||
|
|
519
|
+
reflection.jsonSchema !== undefined ||
|
|
520
|
+
reflection.standard === undefined
|
|
521
|
+
) {
|
|
522
|
+
return reflection
|
|
523
|
+
}
|
|
524
|
+
try {
|
|
525
|
+
const jsonSchema = reflect(reflection.standard)
|
|
526
|
+
return jsonSchema === undefined ? reflection : { ...reflection, jsonSchema }
|
|
527
|
+
} catch {
|
|
528
|
+
return reflection
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
|
|
494
532
|
async function resolveInput(
|
|
495
533
|
routeKey: string,
|
|
496
534
|
target: InputTarget,
|
|
@@ -802,7 +840,10 @@ async function buildLaboratories(
|
|
|
802
840
|
const resolved = await resolveInput(
|
|
803
841
|
routeKey,
|
|
804
842
|
"body",
|
|
805
|
-
|
|
843
|
+
withReflectedJsonSchema(
|
|
844
|
+
route.schema.body,
|
|
845
|
+
options.reflectJsonSchema ?? autoReflectJsonSchema,
|
|
846
|
+
),
|
|
806
847
|
witness,
|
|
807
848
|
seed,
|
|
808
849
|
maxWitnessBytes,
|
|
@@ -816,7 +857,10 @@ async function buildLaboratories(
|
|
|
816
857
|
const resolved = await resolveInput(
|
|
817
858
|
routeKey,
|
|
818
859
|
"query",
|
|
819
|
-
|
|
860
|
+
withReflectedJsonSchema(
|
|
861
|
+
route.schema.query,
|
|
862
|
+
options.reflectJsonSchema ?? autoReflectJsonSchema,
|
|
863
|
+
),
|
|
820
864
|
witness,
|
|
821
865
|
seed,
|
|
822
866
|
maxWitnessBytes,
|
|
@@ -1102,6 +1146,21 @@ export async function runAdversarialContract(
|
|
|
1102
1146
|
(gap) =>
|
|
1103
1147
|
gap.code === "NO_RUNTIME" || gap.code === "INVALID_RUNTIME" || gap.code === "CASE_NOT_FOUND",
|
|
1104
1148
|
)
|
|
1149
|
+
// Non-fatal: surface the silent-zero-coverage trap. Response conformance needs a DECLARED `response`
|
|
1150
|
+
// schema; a response type inferred from the handler return is a client-side contract the laboratory
|
|
1151
|
+
// cannot see. Left as an advisory (not a gap) so an inference-only app's suite stays green.
|
|
1152
|
+
const advisories: string[] = []
|
|
1153
|
+
if (
|
|
1154
|
+
options.validateResponses !== false &&
|
|
1155
|
+
routes.length > 0 &&
|
|
1156
|
+
!laboratories.some((laboratory) => laboratory.route.schema?.response !== undefined)
|
|
1157
|
+
) {
|
|
1158
|
+
advisories.push(
|
|
1159
|
+
"validateResponses is on, but no selected route declares a `response` schema, so response " +
|
|
1160
|
+
"conformance checked 0 targets. Response types inferred from a handler's return are a client-side " +
|
|
1161
|
+
"contract only - declare `response:` on the routes you want the laboratory to verify.",
|
|
1162
|
+
)
|
|
1163
|
+
}
|
|
1105
1164
|
return {
|
|
1106
1165
|
ok: failures.length === 0 && !fatalGap && (!coverageRequired || gaps.length === 0),
|
|
1107
1166
|
seed,
|
|
@@ -1111,6 +1170,7 @@ export async function runAdversarialContract(
|
|
|
1111
1170
|
results,
|
|
1112
1171
|
failures,
|
|
1113
1172
|
gaps,
|
|
1173
|
+
advisories,
|
|
1114
1174
|
counts: {
|
|
1115
1175
|
passed: results.length - failures.length,
|
|
1116
1176
|
failed: failures.length,
|
package/src/zod.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@nifrajs/testing/zod` - bridge a zod schema to the inspectable JSON Schema the adversarial laboratory
|
|
3
|
+
* and `@nifrajs/mock` generate from. zod implements Standard Schema (nifra already VALIDATES with it) but
|
|
4
|
+
* carries no `.jsonSchema`, so without a bridge the laboratory reports NO_WITNESS for every zod route and
|
|
5
|
+
* emits only generic type-confusion mutations, and the mock server returns `{}` for zod responses.
|
|
6
|
+
*
|
|
7
|
+
* Since the vendor-sniffing default (`@nifrajs/mock`'s `autoReflectJsonSchema`), the laboratory and the
|
|
8
|
+
* mock server apply this bridge AUTOMATICALLY when zod is installed - no wiring. This module remains the
|
|
9
|
+
* EXPLICIT form: pass it when you want the conversion pinned regardless of the default's behavior, or as
|
|
10
|
+
* the base of a custom hook that handles more vendors:
|
|
11
|
+
*
|
|
12
|
+
* import { zodJsonSchema } from "@nifrajs/testing/zod"
|
|
13
|
+
* await assertAdversarialContract(app, { reflectJsonSchema: zodJsonSchema })
|
|
14
|
+
* // and/or: createMockServer(app, { reflectJsonSchema: zodJsonSchema })
|
|
15
|
+
*
|
|
16
|
+
* zod is an OPTIONAL peer: this module is only reachable through the `./zod` subpath, so a non-zod project
|
|
17
|
+
* never loads zod. Requires the `z.toJSONSchema` era (zod 4; verified against 4.4.3).
|
|
18
|
+
*/
|
|
19
|
+
import type { JsonSchema } from "@nifrajs/core/reflection"
|
|
20
|
+
import * as z from "zod"
|
|
21
|
+
|
|
22
|
+
// Accessed defensively so a zod build without `toJSONSchema` degrades to today's behavior rather than
|
|
23
|
+
// crashing at import. Present since zod 4.
|
|
24
|
+
const toJSONSchema = (z as { toJSONSchema?: (schema: unknown, options?: unknown) => unknown })
|
|
25
|
+
.toJSONSchema
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Convert a zod schema to a JSON Schema the mock/mutation generators understand, or `undefined` when the
|
|
29
|
+
* value is not a convertible zod schema. Options chosen for this consumer:
|
|
30
|
+
* - target "draft-7" → the keyword set `@nifrajs/mock` + the laboratory's `candidateMutations` read
|
|
31
|
+
* - io "input" → the request-side constraints a hostile payload must violate (pre-transform)
|
|
32
|
+
* - reused "inline" → no `$ref`/`$defs`; the mock generator fails closed on `$ref`
|
|
33
|
+
*
|
|
34
|
+
* Fail-safe: a non-zod value, or an unconvertible schema, returns `undefined` → the schema stays opaque
|
|
35
|
+
* (NO_WITNESS / `{}`), exactly as before this bridge existed.
|
|
36
|
+
*/
|
|
37
|
+
export function zodJsonSchema(schema: unknown): JsonSchema | undefined {
|
|
38
|
+
if (typeof toJSONSchema !== "function") return undefined
|
|
39
|
+
try {
|
|
40
|
+
const json = toJSONSchema(schema, { target: "draft-7", io: "input", reused: "inline" })
|
|
41
|
+
return json === null || json === undefined ? undefined : (json as JsonSchema)
|
|
42
|
+
} catch {
|
|
43
|
+
return undefined
|
|
44
|
+
}
|
|
45
|
+
}
|