@substrat-run/contract-tests 0.87.0 → 0.88.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/dist/concurrency-suite.d.ts +3 -0
- package/dist/concurrency-suite.d.ts.map +1 -0
- package/dist/concurrency-suite.js +228 -0
- package/dist/concurrency-suite.js.map +1 -0
- package/dist/conformance.d.ts +85 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +17 -0
- package/dist/conformance.js.map +1 -0
- package/dist/entity-check-plan.d.ts +138 -0
- package/dist/entity-check-plan.d.ts.map +1 -0
- package/dist/entity-check-plan.js +181 -0
- package/dist/entity-check-plan.js.map +1 -0
- package/dist/entity-check-suite.d.ts +3 -90
- package/dist/entity-check-suite.d.ts.map +1 -1
- package/dist/entity-check-suite.js +42 -71
- package/dist/entity-check-suite.js.map +1 -1
- package/dist/entity-version-suite.d.ts +3 -0
- package/dist/entity-version-suite.d.ts.map +1 -0
- package/dist/entity-version-suite.js +160 -0
- package/dist/entity-version-suite.js.map +1 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/input-parse-suite.d.ts +3 -0
- package/dist/input-parse-suite.d.ts.map +1 -0
- package/dist/input-parse-suite.js +149 -0
- package/dist/input-parse-suite.js.map +1 -0
- package/dist/modules.d.ts +378 -160
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +224 -1
- package/dist/modules.js.map +1 -1
- package/dist/node-only-suite.d.ts +28 -0
- package/dist/node-only-suite.d.ts.map +1 -1
- package/dist/node-only-suite.js +43 -1
- package/dist/node-only-suite.js.map +1 -1
- package/dist/permission-suite.d.ts.map +1 -1
- package/dist/permission-suite.js +125 -0
- package/dist/permission-suite.js.map +1 -1
- package/package.json +11 -3
package/dist/modules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
package/dist/modules.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* validates) draw from this one source. The assertions live in the suites; the
|
|
8
8
|
* artifacts live here.
|
|
9
9
|
*/
|
|
10
|
-
import { dataSubjectId, moduleManifest, permissionKey, principalId, } from '@substrat-run/contracts';
|
|
10
|
+
import { dataSubjectId, moduleManifest, operationInputsOf, operationConcurrencyOf, permissionKey, principalId, z, } from '@substrat-run/contracts';
|
|
11
11
|
import { assertAllowed, } from '@substrat-run/kernel';
|
|
12
12
|
// -- manifests ---------------------------------------------------------------
|
|
13
13
|
export const testModManifest = moduleManifest.parse({
|
|
@@ -259,6 +259,45 @@ export const contractTestBareOps = {
|
|
|
259
259
|
return { first, second: ctx.now() };
|
|
260
260
|
}),
|
|
261
261
|
'test/read-outbox': ((ctx) => ctx.sql.query('SELECT * FROM _substrat_outbox ORDER BY id')),
|
|
262
|
+
// -- #901: an entity's version is the last event's ULID ---------------------
|
|
263
|
+
// The read under test. Takes the ref rather than fixing one, so the suite can
|
|
264
|
+
// ask about an entity nothing has ever emitted about and get the absence.
|
|
265
|
+
'test/version-of': ((ctx, input) => ctx.versionOf({ entityType: input.entityType, entityId: input.entityId })),
|
|
266
|
+
// Emit about a NAMED entity. `test/emit-event` is fixed to `x1`, and the suite
|
|
267
|
+
// needs two entities moving independently to prove the version is per-entity
|
|
268
|
+
// and not just "the newest event in the scope".
|
|
269
|
+
'test/emit-about': ((ctx, input) => {
|
|
270
|
+
ctx.emit({
|
|
271
|
+
type: 'test.happened',
|
|
272
|
+
schemaVersion: 1,
|
|
273
|
+
entity: { entityType: 'test-thing', entityId: input.entityId },
|
|
274
|
+
piiClass: input.subject ? 'pseudonymous' : 'none',
|
|
275
|
+
...(input.subject ? { subjectId: dataSubjectId.parse(input.subject) } : {}),
|
|
276
|
+
payload: { about: input.entityId },
|
|
277
|
+
});
|
|
278
|
+
}),
|
|
279
|
+
// Emit, then read the version back INSIDE the same operation — the
|
|
280
|
+
// read-after-write half, and the reason `emit` writing the outbox row inline
|
|
281
|
+
// rather than buffering to commit is load-bearing rather than incidental.
|
|
282
|
+
'test/emit-then-version': ((ctx, input) => {
|
|
283
|
+
const before = ctx.versionOf({ entityType: 'test-thing', entityId: input.entityId });
|
|
284
|
+
ctx.emit({
|
|
285
|
+
type: 'test.happened',
|
|
286
|
+
schemaVersion: 1,
|
|
287
|
+
entity: { entityType: 'test-thing', entityId: input.entityId },
|
|
288
|
+
piiClass: 'none',
|
|
289
|
+
payload: {},
|
|
290
|
+
});
|
|
291
|
+
return { before, after: ctx.versionOf({ entityType: 'test-thing', entityId: input.entityId }) };
|
|
292
|
+
}),
|
|
293
|
+
// A mutation that emits NOTHING. The version must not move — this is the
|
|
294
|
+
// documented hole, pinned deliberately so it is a known property rather than a
|
|
295
|
+
// surprise. The fix is a compile-checked `concurrency` against `emits` (#129),
|
|
296
|
+
// not a change here.
|
|
297
|
+
'test/mutate-silently': ((ctx) => {
|
|
298
|
+
ctx.sql.exec('CREATE TABLE IF NOT EXISTS quiet (n INTEGER NOT NULL)');
|
|
299
|
+
ctx.sql.exec('INSERT INTO quiet (n) VALUES (1)');
|
|
300
|
+
}),
|
|
262
301
|
// platform-intents.md: enqueue a platform intent and return its id.
|
|
263
302
|
'platform/request': ((ctx, input) => ctx.requestPlatform({ kind: input.kind, payload: input.payload })),
|
|
264
303
|
// Enqueue then throw — the request write must roll back with the operation (atomic with the txn).
|
|
@@ -327,6 +366,14 @@ const authorizedEmitOp = async (ctx, input) => {
|
|
|
327
366
|
payload: {},
|
|
328
367
|
});
|
|
329
368
|
};
|
|
369
|
+
// A SECOND enforced check, so a denial log can be asked how many DISTINCT operations
|
|
370
|
+
// an actor was refused one key on (#867) — one operation refused four hundred times is
|
|
371
|
+
// a broken screen, the same count across several is someone walking the surface. With
|
|
372
|
+
// only one guarded operation in the module that column could never be anything but 1.
|
|
373
|
+
const authorizedReadOp = async (ctx, input) => {
|
|
374
|
+
assertAllowed(await ctx.check(input.permission));
|
|
375
|
+
return ctx.sql.query('SELECT COUNT(*) AS n FROM testmod_items')[0].n;
|
|
376
|
+
};
|
|
330
377
|
const readOutboxOp = (ctx) => ctx.sql.query('SELECT id, type, authorization FROM _substrat_outbox ORDER BY id');
|
|
331
378
|
const readDenialsOp = (ctx) => ctx.sql.query('SELECT actor, permission, tenant_id, scope_id, operation FROM _substrat_denials ORDER BY id');
|
|
332
379
|
// -- #770 sub-transaction handlers -------------------------------------------
|
|
@@ -647,6 +694,7 @@ export const permMod = {
|
|
|
647
694
|
'perm/link': linkOp,
|
|
648
695
|
'perm/probe': probeOp,
|
|
649
696
|
'perm/authorized-emit': authorizedEmitOp,
|
|
697
|
+
'perm/authorized-read': authorizedReadOp,
|
|
650
698
|
'perm/read-outbox': readOutboxOp,
|
|
651
699
|
'perm/read-denials': readDenialsOp,
|
|
652
700
|
// #304: read the request-time entitlement view — used by the scope-local (projected)
|
|
@@ -943,6 +991,179 @@ export const searchMod = {
|
|
|
943
991
|
}),
|
|
944
992
|
},
|
|
945
993
|
};
|
|
994
|
+
// -- #893: the declared input the HOST parses ---------------------------------
|
|
995
|
+
export const parseModManifest = moduleManifest.parse({
|
|
996
|
+
id: '@test/parse',
|
|
997
|
+
version: '1.0.0',
|
|
998
|
+
kernelContract: '^0.0.1',
|
|
999
|
+
permissions: [{ key: 'parse:use', description: 'the parse fixture permission' }],
|
|
1000
|
+
events: { emits: [], consumes: [] },
|
|
1001
|
+
migrations: { journalDir: './migrations', compatibleFrom: '1.0.0' },
|
|
1002
|
+
attachmentTargets: [],
|
|
1003
|
+
entitlementKey: 'parse',
|
|
1004
|
+
});
|
|
1005
|
+
const PARSE_USE = permissionKey.parse('parse:use');
|
|
1006
|
+
/**
|
|
1007
|
+
* Every handler here ECHOES what it was handed, and asserts nothing itself.
|
|
1008
|
+
*
|
|
1009
|
+
* That is deliberate: the contract under test is what the host does to an
|
|
1010
|
+
* invocation's input *before* module code runs, so the fixture's job is to make
|
|
1011
|
+
* that observable rather than to judge it. A handler that validated would prove
|
|
1012
|
+
* only that it agrees with itself — the same note `entityCheckConformanceSuite`
|
|
1013
|
+
* makes about minting grants through the vertical's own sharing operation.
|
|
1014
|
+
*/
|
|
1015
|
+
const echo = async (ctx, input) => {
|
|
1016
|
+
assertAllowed(await ctx.check(PARSE_USE));
|
|
1017
|
+
return { received: input ?? null };
|
|
1018
|
+
};
|
|
1019
|
+
/**
|
|
1020
|
+
* The declaration the fixture's schemas are derived from.
|
|
1021
|
+
*
|
|
1022
|
+
* A literal rather than a `defineOperations` call: `operationInputsOf` reads
|
|
1023
|
+
* `input`, `inputOptional` and `paged` and nothing else, and contracts' own
|
|
1024
|
+
* tests are where the declaration DSL is exercised. What this suite is for is
|
|
1025
|
+
* the HOST end — that the schema reaches the door and is applied there.
|
|
1026
|
+
*/
|
|
1027
|
+
const parseDeclaration = {
|
|
1028
|
+
// A required field, an optional one, and a default — the default is the case a
|
|
1029
|
+
// handler cannot fake: it must arrive SET without the caller sending it.
|
|
1030
|
+
'parse/echo': {
|
|
1031
|
+
input: z.object({
|
|
1032
|
+
name: z.string().min(1),
|
|
1033
|
+
tag: z.string().optional(),
|
|
1034
|
+
size: z.number().int().default(7),
|
|
1035
|
+
}),
|
|
1036
|
+
},
|
|
1037
|
+
// Declared `paged`: the platform's page trio must survive a strict parse, or a
|
|
1038
|
+
// paged read is handed an unpaged request (#811).
|
|
1039
|
+
'parse/paged': {
|
|
1040
|
+
input: z.object({ q: z.string().optional() }),
|
|
1041
|
+
paged: {},
|
|
1042
|
+
},
|
|
1043
|
+
// Declares nothing. The handler takes `undefined`, and the host must not
|
|
1044
|
+
// invent a `{}` for it.
|
|
1045
|
+
'parse/bare': {},
|
|
1046
|
+
};
|
|
1047
|
+
export const parseMod = {
|
|
1048
|
+
manifest: parseModManifest,
|
|
1049
|
+
operations: {
|
|
1050
|
+
'parse/echo': echo,
|
|
1051
|
+
'parse/paged': echo,
|
|
1052
|
+
'parse/bare': echo,
|
|
1053
|
+
},
|
|
1054
|
+
operationInputs: operationInputsOf(parseDeclaration),
|
|
1055
|
+
};
|
|
1056
|
+
// -- #129: the precondition the HOST compares ---------------------------------
|
|
1057
|
+
export const concurrencyModManifest = moduleManifest.parse({
|
|
1058
|
+
id: '@test/concurrency',
|
|
1059
|
+
version: '1.0.0',
|
|
1060
|
+
kernelContract: '^0.0.1',
|
|
1061
|
+
permissions: [
|
|
1062
|
+
{ key: 'conc:use', description: 'the concurrency fixture permission' },
|
|
1063
|
+
{ key: 'conc:never', description: 'granted to nobody — the ordering probe' },
|
|
1064
|
+
],
|
|
1065
|
+
events: { emits: [{ type: 'conc.changed', schemaVersion: 1 }], consumes: [] },
|
|
1066
|
+
migrations: { journalDir: './migrations', compatibleFrom: '1.0.0' },
|
|
1067
|
+
attachmentTargets: [],
|
|
1068
|
+
entitlementKey: 'conc',
|
|
1069
|
+
});
|
|
1070
|
+
const CONC_USE = permissionKey.parse('conc:use');
|
|
1071
|
+
/**
|
|
1072
|
+
* A guarded write: it announces what it did, so the version it is guarded on
|
|
1073
|
+
* moves. This is the shape `assertConcurrencyMovesVersion` requires, and the one
|
|
1074
|
+
* the suite drives both halves of — the refusal and the fresh tag.
|
|
1075
|
+
*/
|
|
1076
|
+
const concUpdate = async (ctx, input) => {
|
|
1077
|
+
assertAllowed(await ctx.check(CONC_USE));
|
|
1078
|
+
ctx.sql.exec('CREATE TABLE IF NOT EXISTS conc_things (id TEXT PRIMARY KEY, label TEXT)');
|
|
1079
|
+
ctx.sql.exec('INSERT INTO conc_things (id, label) VALUES (?, ?) ON CONFLICT(id) DO UPDATE SET label = excluded.label', [input.thingId, input.label ?? null]);
|
|
1080
|
+
ctx.emit({
|
|
1081
|
+
type: 'conc.changed',
|
|
1082
|
+
schemaVersion: 1,
|
|
1083
|
+
entity: { entityType: 'conc-thing', entityId: input.thingId },
|
|
1084
|
+
piiClass: 'none',
|
|
1085
|
+
payload: { label: input.label ?? null },
|
|
1086
|
+
});
|
|
1087
|
+
return { id: input.thingId, label: input.label ?? null };
|
|
1088
|
+
};
|
|
1089
|
+
/**
|
|
1090
|
+
* A guarded READ. No `emits`, and that is legal here: on a read the declaration
|
|
1091
|
+
* means "answer with the current tag", which is how a caller comes to hold one at
|
|
1092
|
+
* all. Nothing is serialised and nothing can be refused.
|
|
1093
|
+
*/
|
|
1094
|
+
const concRead = async (ctx, input) => {
|
|
1095
|
+
assertAllowed(await ctx.check(CONC_USE));
|
|
1096
|
+
return { id: input.thingId };
|
|
1097
|
+
};
|
|
1098
|
+
/**
|
|
1099
|
+
* Guarded, and announces NOTHING — the inversion `assertConcurrencyMovesVersion`
|
|
1100
|
+
* refuses at declaration time.
|
|
1101
|
+
*
|
|
1102
|
+
* Declared here anyway, because the compile-time check and the host are separate
|
|
1103
|
+
* guarantees and this suite tests the host. What it pins is that the host does
|
|
1104
|
+
* not invent a version for a write that emitted none: the tag does not move, two
|
|
1105
|
+
* callers holding the same one both pass, and the lost update happens. That is
|
|
1106
|
+
* the behaviour the model-layer refusal exists to make undeclarable, and pinning
|
|
1107
|
+
* it is what stops someone "fixing" it here — where the fix would be to fabricate
|
|
1108
|
+
* a version the spine never recorded.
|
|
1109
|
+
*/
|
|
1110
|
+
const concSilent = async (ctx, input) => {
|
|
1111
|
+
assertAllowed(await ctx.check(CONC_USE));
|
|
1112
|
+
ctx.sql.exec('CREATE TABLE IF NOT EXISTS conc_things (id TEXT PRIMARY KEY, label TEXT)');
|
|
1113
|
+
ctx.sql.exec('INSERT INTO conc_things (id, label) VALUES (?, ?) ON CONFLICT(id) DO UPDATE SET label = excluded.label', [input.thingId, input.label ?? null]);
|
|
1114
|
+
return { id: input.thingId };
|
|
1115
|
+
};
|
|
1116
|
+
/**
|
|
1117
|
+
* Guarded, and refuses EVERY caller. The precondition must never answer ahead of
|
|
1118
|
+
* it — see the suite case, and the ordering note in both adapters.
|
|
1119
|
+
*/
|
|
1120
|
+
const concForbidden = async (ctx, input) => {
|
|
1121
|
+
assertAllowed(await ctx.check(permissionKey.parse('conc:never')));
|
|
1122
|
+
return { id: input.thingId };
|
|
1123
|
+
};
|
|
1124
|
+
/** Declares no `concurrency` at all — an `If-Match` here must be refused, not ignored. */
|
|
1125
|
+
const concUnguarded = async (ctx, input) => {
|
|
1126
|
+
assertAllowed(await ctx.check(CONC_USE));
|
|
1127
|
+
return { id: input.thingId };
|
|
1128
|
+
};
|
|
1129
|
+
const concurrencyDeclaration = {
|
|
1130
|
+
'conc/update': {
|
|
1131
|
+
input: z.object({ thingId: z.string(), label: z.string().optional() }),
|
|
1132
|
+
concurrency: { over: 'conc-thing', idFrom: 'thingId' },
|
|
1133
|
+
},
|
|
1134
|
+
'conc/read': {
|
|
1135
|
+
input: z.object({ thingId: z.string() }),
|
|
1136
|
+
concurrency: { over: 'conc-thing', idFrom: 'thingId' },
|
|
1137
|
+
},
|
|
1138
|
+
'conc/silent': {
|
|
1139
|
+
input: z.object({ thingId: z.string(), label: z.string().optional() }),
|
|
1140
|
+
concurrency: { over: 'conc-thing', idFrom: 'thingId' },
|
|
1141
|
+
},
|
|
1142
|
+
// Guarded over a field the caller may omit — the case `concurrencyRef` refuses
|
|
1143
|
+
// rather than skips, since a precondition with no row reads as one that passed.
|
|
1144
|
+
'conc/keyless': {
|
|
1145
|
+
input: z.object({ thingId: z.string().optional() }),
|
|
1146
|
+
concurrency: { over: 'conc-thing', idFrom: 'thingId' },
|
|
1147
|
+
},
|
|
1148
|
+
'conc/forbidden': {
|
|
1149
|
+
input: z.object({ thingId: z.string() }),
|
|
1150
|
+
concurrency: { over: 'conc-thing', idFrom: 'thingId' },
|
|
1151
|
+
},
|
|
1152
|
+
'conc/unguarded': { input: z.object({ thingId: z.string() }) },
|
|
1153
|
+
};
|
|
1154
|
+
export const concurrencyMod = {
|
|
1155
|
+
manifest: concurrencyModManifest,
|
|
1156
|
+
operations: {
|
|
1157
|
+
'conc/update': concUpdate,
|
|
1158
|
+
'conc/read': concRead,
|
|
1159
|
+
'conc/silent': concSilent,
|
|
1160
|
+
'conc/keyless': concRead,
|
|
1161
|
+
'conc/forbidden': concForbidden,
|
|
1162
|
+
'conc/unguarded': concUnguarded,
|
|
1163
|
+
},
|
|
1164
|
+
operationInputs: operationInputsOf(concurrencyDeclaration),
|
|
1165
|
+
operationConcurrency: operationConcurrencyOf(concurrencyDeclaration),
|
|
1166
|
+
};
|
|
946
1167
|
export const contractTestModules = [
|
|
947
1168
|
...contractTestInitialModules,
|
|
948
1169
|
lateMod,
|
|
@@ -953,6 +1174,8 @@ export const contractTestModules = [
|
|
|
953
1174
|
atomicMod,
|
|
954
1175
|
searchMod,
|
|
955
1176
|
listMod,
|
|
1177
|
+
parseMod,
|
|
1178
|
+
concurrencyMod,
|
|
956
1179
|
];
|
|
957
1180
|
export const brokenModManifest = moduleManifest.parse({
|
|
958
1181
|
id: '@test/broken',
|
package/dist/modules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
export interface NodeOnlyOptions {
|
|
2
2
|
/** Absolute paths to the module source this claim covers. */
|
|
3
3
|
readonly sources: readonly string[];
|
|
4
|
+
/**
|
|
5
|
+
* Why node-only is the right answer here (#866).
|
|
6
|
+
*
|
|
7
|
+
* Optional to the suite — the assertion below works without it — and required
|
|
8
|
+
* by `assertNodeOnly`, which is what the trust page renders from. It appears
|
|
9
|
+
* in the test name so a reader of a CI log sees the claim, not just its
|
|
10
|
+
* subject.
|
|
11
|
+
*/
|
|
12
|
+
readonly because?: string;
|
|
4
13
|
}
|
|
5
14
|
/**
|
|
6
15
|
* Assert a module checks permissions only at the node.
|
|
@@ -12,4 +21,23 @@ export interface NodeOnlyOptions {
|
|
|
12
21
|
* ```
|
|
13
22
|
*/
|
|
14
23
|
export declare function nodeOnlySuite(subjectName: string, options: NodeOnlyOptions): void;
|
|
24
|
+
/**
|
|
25
|
+
* "This module's DECLARATION narrows nowhere" — the stronger node-only claim (#866).
|
|
26
|
+
*
|
|
27
|
+
* `nodeOnlySuite` above is a tripwire over source text, for a module with no
|
|
28
|
+
* declared operation set to read. A module that HAS one needs no tripwire: the
|
|
29
|
+
* declaration is the statement, and `planEntityCheckCoverage` reads it the same
|
|
30
|
+
* way the conformance kit does. So the claim becomes "the plan is empty", which
|
|
31
|
+
* is exact rather than lexical, and goes red the moment an operation declares a
|
|
32
|
+
* narrowed check.
|
|
33
|
+
*
|
|
34
|
+
* Generalised out of `engines/invoicing`, which wrote this by hand and was the
|
|
35
|
+
* only package doing it — so the fleet census read it as unassessed twice, once
|
|
36
|
+
* in #865's table and once while building the report that renders it.
|
|
37
|
+
*
|
|
38
|
+
* The second assertion is the one that is easy to leave out. An operation with
|
|
39
|
+
* NO check at all also produces an empty plan, so emptiness alone cannot tell
|
|
40
|
+
* "checks at the node" from "checks nothing".
|
|
41
|
+
*/
|
|
42
|
+
export declare function declaredNodeOnlySuite(subjectName: string, operations: Readonly<Record<string, object>>, because?: string): void;
|
|
15
43
|
//# sourceMappingURL=node-only-suite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-only-suite.d.ts","sourceRoot":"","sources":["../src/node-only-suite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-only-suite.d.ts","sourceRoot":"","sources":["../src/node-only-suite.ts"],"names":[],"mappings":"AA0CA,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CA6BjF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC5C,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAuBN"}
|
package/dist/node-only-suite.js
CHANGED
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
*/
|
|
36
36
|
import { describe, expect, it } from 'vitest';
|
|
37
37
|
import { readFileSync } from 'node:fs';
|
|
38
|
+
import { planEntityCheckCoverage } from './entity-check-plan.js';
|
|
38
39
|
/** A two-argument `ctx.check(...)` — the narrowed form, spelled the usual way. */
|
|
39
40
|
const NARROWED_CHECK = /\bctx\.check\(\s*[^()]*\([^()]*\)[^()]*,|\bctx\.check\(\s*[^(),]+\s*,/g;
|
|
40
41
|
/**
|
|
@@ -47,7 +48,8 @@ const NARROWED_CHECK = /\bctx\.check\(\s*[^()]*\([^()]*\)[^()]*,|\bctx\.check\(\
|
|
|
47
48
|
* ```
|
|
48
49
|
*/
|
|
49
50
|
export function nodeOnlySuite(subjectName, options) {
|
|
50
|
-
|
|
51
|
+
const claim = options.because ? `${subjectName} — ${options.because}` : subjectName;
|
|
52
|
+
describe(`checks at the node only: ${claim}`, () => {
|
|
51
53
|
it('reads the source it claims to cover', () => {
|
|
52
54
|
// The zero guard, same one the conformance kit has: a suite that read
|
|
53
55
|
// nothing would pass every assertion below it.
|
|
@@ -72,4 +74,44 @@ export function nodeOnlySuite(subjectName, options) {
|
|
|
72
74
|
});
|
|
73
75
|
});
|
|
74
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* "This module's DECLARATION narrows nowhere" — the stronger node-only claim (#866).
|
|
79
|
+
*
|
|
80
|
+
* `nodeOnlySuite` above is a tripwire over source text, for a module with no
|
|
81
|
+
* declared operation set to read. A module that HAS one needs no tripwire: the
|
|
82
|
+
* declaration is the statement, and `planEntityCheckCoverage` reads it the same
|
|
83
|
+
* way the conformance kit does. So the claim becomes "the plan is empty", which
|
|
84
|
+
* is exact rather than lexical, and goes red the moment an operation declares a
|
|
85
|
+
* narrowed check.
|
|
86
|
+
*
|
|
87
|
+
* Generalised out of `engines/invoicing`, which wrote this by hand and was the
|
|
88
|
+
* only package doing it — so the fleet census read it as unassessed twice, once
|
|
89
|
+
* in #865's table and once while building the report that renders it.
|
|
90
|
+
*
|
|
91
|
+
* The second assertion is the one that is easy to leave out. An operation with
|
|
92
|
+
* NO check at all also produces an empty plan, so emptiness alone cannot tell
|
|
93
|
+
* "checks at the node" from "checks nothing".
|
|
94
|
+
*/
|
|
95
|
+
export function declaredNodeOnlySuite(subjectName, operations, because) {
|
|
96
|
+
const claim = because ? `${subjectName} — ${because}` : subjectName;
|
|
97
|
+
describe(`entity checks: ${claim} declares none, deliberately`, () => {
|
|
98
|
+
it('declares at least one operation, so the empty plan below means something', () => {
|
|
99
|
+
// The zero guard: an empty registry satisfies every assertion under it.
|
|
100
|
+
expect(Object.keys(operations).length).toBeGreaterThan(0);
|
|
101
|
+
});
|
|
102
|
+
it('has no operation narrowing to an entity, so there is no pair to generate', () => {
|
|
103
|
+
const { covered, uncovered } = planEntityCheckCoverage(operations);
|
|
104
|
+
expect({ covered: covered.map((c) => c.name), uncovered }).toEqual({
|
|
105
|
+
covered: [],
|
|
106
|
+
uncovered: {},
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
it('still checks a permission on every operation — node-only is not un-gated', () => {
|
|
110
|
+
const ungated = Object.entries(operations)
|
|
111
|
+
.filter(([, op]) => !('permission' in op) && !('narrows' in op))
|
|
112
|
+
.map(([name]) => name);
|
|
113
|
+
expect(ungated).toEqual([]);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}
|
|
75
117
|
//# sourceMappingURL=node-only-suite.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-only-suite.js","sourceRoot":"","sources":["../src/node-only-suite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"node-only-suite.js","sourceRoot":"","sources":["../src/node-only-suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-suite.d.ts","sourceRoot":"","sources":["../src/permission-suite.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQ9D;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC3C,IAAI,
|
|
1
|
+
{"version":3,"file":"permission-suite.d.ts","sourceRoot":"","sources":["../src/permission-suite.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQ9D;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC3C,IAAI,CAsgCN"}
|