@lovrozagar/oat 0.7.7 → 0.7.8
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 +29 -1
- package/dist/cli.js +4 -0
- package/dist/reference/defects.d.ts +7 -0
- package/dist/reference/defects.d.ts.map +1 -1
- package/dist/reference/defects.js +7 -0
- package/dist/reference/defects.js.map +1 -1
- package/dist/reference/http.d.ts.map +1 -1
- package/dist/reference/http.js +37 -0
- package/dist/reference/http.js.map +1 -1
- package/dist/reference/model.d.ts +2 -0
- package/dist/reference/model.d.ts.map +1 -1
- package/dist/reference/model.js +1 -0
- package/dist/reference/model.js.map +1 -1
- package/dist/reference/spec.d.ts.map +1 -1
- package/dist/reference/spec.js +4 -2
- package/dist/reference/spec.js.map +1 -1
- package/dist/report/console.d.ts.map +1 -1
- package/dist/report/console.js +26 -0
- package/dist/report/console.js.map +1 -1
- package/dist/runtime/checks.d.ts +8 -0
- package/dist/runtime/checks.d.ts.map +1 -1
- package/dist/runtime/checks.js +193 -2
- package/dist/runtime/checks.js.map +1 -1
- package/dist/runtime/fixture.d.ts +10 -0
- package/dist/runtime/fixture.d.ts.map +1 -1
- package/dist/runtime/fixture.js +107 -0
- package/dist/runtime/fixture.js.map +1 -1
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +38 -0
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/unique.d.ts +47 -0
- package/dist/runtime/unique.d.ts.map +1 -0
- package/dist/runtime/unique.js +185 -0
- package/dist/runtime/unique.js.map +1 -0
- package/dist/runtime/world.d.ts +8 -0
- package/dist/runtime/world.d.ts.map +1 -1
- package/dist/runtime/world.js +53 -8
- package/dist/runtime/world.js.map +1 -1
- package/dist/spec/extensions.d.ts +16 -0
- package/dist/spec/extensions.d.ts.map +1 -1
- package/dist/spec/extensions.js +62 -0
- package/dist/spec/extensions.js.map +1 -1
- package/dist/spec/graph.d.ts +8 -0
- package/dist/spec/graph.d.ts.map +1 -1
- package/dist/spec/graph.js +7 -1
- package/dist/spec/graph.js.map +1 -1
- package/labs/annotated-openapi.yaml +25 -0
- package/package.json +1 -1
package/dist/report/console.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* the meta tag that would close each gap. A backend team's path to full coverage is to run it
|
|
6
6
|
* and work the list down.
|
|
7
7
|
*/
|
|
8
|
+
import { formatUniqueSets } from "../spec/extensions.js";
|
|
8
9
|
import { canWriteFilterOp } from "../spec/conventions.js";
|
|
9
10
|
import { anyFieldAllows, fieldAllowsNulls, mergeQueryCapabilities, opsAreClosed, } from "../spec/query-capabilities.js";
|
|
10
11
|
/**
|
|
@@ -51,6 +52,7 @@ export const TAG_UNLOCKS = {
|
|
|
51
52
|
],
|
|
52
53
|
"x-soft-delete": ["softdelete.absent-from-default-list"],
|
|
53
54
|
"x-invite": ["auth.invite-grants-then-revokes"],
|
|
55
|
+
"x-unique": ["create.unique-conflict-rejected", "update.unique-conflict-rejected"],
|
|
54
56
|
};
|
|
55
57
|
/** Tags that change the *confidence* of checks that already run, not the count. */
|
|
56
58
|
const TAG_SHARPENS = {
|
|
@@ -69,6 +71,7 @@ const TAG_REMEDY = {
|
|
|
69
71
|
"x-invite": "name the invite, accept and revoke operations for delegated access",
|
|
70
72
|
"x-wait": "name the GET to poll after this write until a JSON path is occupied",
|
|
71
73
|
"x-effects": "declare create/append/delete with count or min, not both",
|
|
74
|
+
"x-unique": "declare the column sets that must stay unique so a 409 duplicate can be scored",
|
|
72
75
|
};
|
|
73
76
|
function bar(value, total, width = 24) {
|
|
74
77
|
if (total === 0)
|
|
@@ -92,6 +95,9 @@ function plan(model, asJson) {
|
|
|
92
95
|
entities: [...model.entities.values()],
|
|
93
96
|
operations: model.operations,
|
|
94
97
|
roots: model.roots,
|
|
98
|
+
unique: [...model.entities.values()]
|
|
99
|
+
.filter((entity) => entity.unique !== null)
|
|
100
|
+
.map((entity) => ({ entity: entity.name, unique: entity.unique })),
|
|
95
101
|
}, null, 2)}\n`;
|
|
96
102
|
}
|
|
97
103
|
const lines = [];
|
|
@@ -122,6 +128,14 @@ function plan(model, asJson) {
|
|
|
122
128
|
for (const op of gated)
|
|
123
129
|
lines.push(` ${op.operationId.padEnd(28)} x-feature-gate: ${op.featureGate}`);
|
|
124
130
|
}
|
|
131
|
+
const uniqued = entities.filter((entity) => entity.unique !== null);
|
|
132
|
+
if (uniqued.length > 0) {
|
|
133
|
+
lines.push("");
|
|
134
|
+
lines.push(" unique constraints — a 409 on a duplicate of these columns is a pass:");
|
|
135
|
+
for (const entity of uniqued) {
|
|
136
|
+
lines.push(` ${entity.name.padEnd(28)} x-unique: ${formatUniqueSets(entity.unique)}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
125
139
|
lines.push("");
|
|
126
140
|
return lines.join("\n");
|
|
127
141
|
}
|
|
@@ -285,6 +299,9 @@ function doctor(model, externalRefs, asJson, config) {
|
|
|
285
299
|
const featureGates = model.operations
|
|
286
300
|
.filter((op) => op.featureGate !== null)
|
|
287
301
|
.map((op) => ({ operationId: op.operationId, featureGate: op.featureGate }));
|
|
302
|
+
const uniqueConstraints = entities
|
|
303
|
+
.filter((entity) => entity.unique !== null)
|
|
304
|
+
.map((entity) => ({ entity: entity.name, unique: entity.unique }));
|
|
288
305
|
const { catalogs, unknownEntities } = entityQueryCatalogs(model, config);
|
|
289
306
|
if (asJson) {
|
|
290
307
|
return {
|
|
@@ -294,6 +311,7 @@ function doctor(model, externalRefs, asJson, config) {
|
|
|
294
311
|
entities: entities.length,
|
|
295
312
|
externalRefs,
|
|
296
313
|
featureGates,
|
|
314
|
+
uniqueConstraints,
|
|
297
315
|
gaps: model.gaps.gaps,
|
|
298
316
|
listableEntities: listable.length,
|
|
299
317
|
queryCatalog: catalogs,
|
|
@@ -327,6 +345,7 @@ function doctor(model, externalRefs, asJson, config) {
|
|
|
327
345
|
...(op.wait === null ? [] : ["x-wait"]),
|
|
328
346
|
...(op.tenantSource === "tag" ? ["x-tenant"] : []),
|
|
329
347
|
...(op.query?.source === "tag" ? ["x-query"] : []),
|
|
348
|
+
...(op.unique !== null ? ["x-unique"] : []),
|
|
330
349
|
]));
|
|
331
350
|
for (const entity of entities) {
|
|
332
351
|
if (entity.invite !== null)
|
|
@@ -391,6 +410,13 @@ function doctor(model, externalRefs, asJson, config) {
|
|
|
391
410
|
}
|
|
392
411
|
lines.push("");
|
|
393
412
|
}
|
|
413
|
+
if (uniqueConstraints.length > 0) {
|
|
414
|
+
lines.push(" unique constraints — a 409 on a duplicate of these columns is a pass");
|
|
415
|
+
for (const row of uniqueConstraints) {
|
|
416
|
+
lines.push(` ${row.entity.padEnd(28)} x-unique: ${formatUniqueSets(row.unique)}`);
|
|
417
|
+
}
|
|
418
|
+
lines.push("");
|
|
419
|
+
}
|
|
394
420
|
if (unknownEntities.length > 0) {
|
|
395
421
|
lines.push(" config.entities names that do not match the document (ignored)");
|
|
396
422
|
for (const name of unknownEntities)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/report/console.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/report/console.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/checks.d.ts
CHANGED
|
@@ -61,6 +61,14 @@ export interface CheckContext {
|
|
|
61
61
|
altScope: Record<string, string> | undefined;
|
|
62
62
|
validator: SchemaValidator | undefined;
|
|
63
63
|
seed: number;
|
|
64
|
+
/** Effective unique column sets for this entity (`[]` when the tag is absent or empty). */
|
|
65
|
+
uniqueSets: string[][];
|
|
66
|
+
/** First-variant create 409 adopted a same-tenant row; unique probes still run. */
|
|
67
|
+
uniqueAdopted: boolean;
|
|
68
|
+
/** Create operation for unique probes — still set after unique-409 adopt. */
|
|
69
|
+
uniqueCreateOp: OperationModel | undefined;
|
|
70
|
+
/** Update operation for unique probes — still set after unique-409 adopt. */
|
|
71
|
+
uniqueUpdateOp: OperationModel | undefined;
|
|
64
72
|
/** File pool / dummy resolution for multipart parts. */
|
|
65
73
|
uploads: UploadContext;
|
|
66
74
|
/** Operations on this entity declared async via `x-async`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../src/runtime/checks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAEN,KAAK,0BAA0B,EAS/B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjE,OAAO,KAAK,EAAE,MAAM,EAA4B,MAAM,aAAa,CAAA;AAGnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAIpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,EAAE,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../src/runtime/checks.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/checks.js
CHANGED
|
@@ -17,7 +17,8 @@ import { resolveOutOfBandValue } from "./auth.js";
|
|
|
17
17
|
import { buildCohort } from "./fixture.js";
|
|
18
18
|
import { forEachInvocation } from "./upload-each.js";
|
|
19
19
|
import { driveWait } from "./wait.js";
|
|
20
|
-
import { fillPath } from "./world.js";
|
|
20
|
+
import { fillPath, isPlanLimitResponse } from "./world.js";
|
|
21
|
+
import { bodyPropertyNames, collisionCreateBody, collisionUpdatePatch, idempotencyHeaderRequired, probeableUniqueSets, reportUniqueSchemaDrift, uniquifyProbeBody, uniqueProbeHeaders, } from "./unique.js";
|
|
21
22
|
import { bindAfterCreateEffects, bindCreatedScope, bindMissingPathParams, canFillPath, describeEffectHold, effectHolds, identityPathParam, } from "./effects.js";
|
|
22
23
|
/* ------------------------------------------------------------------- helpers */
|
|
23
24
|
/**
|
|
@@ -3160,7 +3161,11 @@ const successSchemaHonoured = {
|
|
|
3160
3161
|
/** Builds a body that should be accepted, for use as the base of a negative probe. */
|
|
3161
3162
|
function validBody(ctx, schema) {
|
|
3162
3163
|
const [member] = buildCohort(schema, ctx.seed, ["baseline"], ctx.createOp?.operationId ?? ctx.entityName);
|
|
3163
|
-
|
|
3164
|
+
const body = member?.body ?? {};
|
|
3165
|
+
const sets = ctx.uniqueSets ?? [];
|
|
3166
|
+
if (sets.length === 0)
|
|
3167
|
+
return body;
|
|
3168
|
+
return uniquifyProbeBody(body, sets, schema, `p${ctx.seed}x${ctx.client.transcript.length}`);
|
|
3164
3169
|
}
|
|
3165
3170
|
/** Invite bodies must carry the peer's `inviteAs`, never a generated email. */
|
|
3166
3171
|
function bodyForOp(ctx, op) {
|
|
@@ -5249,6 +5254,190 @@ const queryFilterSearchSortSelectCompose = {
|
|
|
5249
5254
|
ctx.findings.backend(this.id, ctx.entityName, "filter ∩ search membership changes when sort and select join", `the four-axis listing returned ${combined.items.length}; filter+search alone returned ${base.items.length}.`, [base.last.exchange, combined.last.exchange]);
|
|
5250
5255
|
},
|
|
5251
5256
|
};
|
|
5257
|
+
/** Item GET when available — list projections can disagree with stored unique values. */
|
|
5258
|
+
async function liveRecord(ctx, id) {
|
|
5259
|
+
if (id === undefined || ctx.readOp === undefined)
|
|
5260
|
+
return undefined;
|
|
5261
|
+
try {
|
|
5262
|
+
const exchange = await ctx.client.get(fillPath(ctx.readOp.path, { ...ctx.scope, ...itemParamFor(ctx, id) }), {
|
|
5263
|
+
headers: ctx.auth(),
|
|
5264
|
+
});
|
|
5265
|
+
if (exchange.status >= 300 || exchange.responseBody === null || typeof exchange.responseBody !== "object") {
|
|
5266
|
+
return undefined;
|
|
5267
|
+
}
|
|
5268
|
+
return exchange.responseBody;
|
|
5269
|
+
}
|
|
5270
|
+
catch {
|
|
5271
|
+
return undefined;
|
|
5272
|
+
}
|
|
5273
|
+
}
|
|
5274
|
+
async function teardownCreatedId(ctx, id) {
|
|
5275
|
+
const deleteOp = ctx.deleteOp ?? ctx.model.byOperationId.get(ctx.model.entities.get(ctx.entityName)?.delete ?? "");
|
|
5276
|
+
if (deleteOp === undefined)
|
|
5277
|
+
return;
|
|
5278
|
+
try {
|
|
5279
|
+
await ctx.client.request("DELETE", fillPath(deleteOp.path, { ...ctx.scope, ...itemParamFor(ctx, id) }), {
|
|
5280
|
+
headers: ctx.auth(),
|
|
5281
|
+
});
|
|
5282
|
+
}
|
|
5283
|
+
catch {
|
|
5284
|
+
/* A leftover row is worse than a teardown 404. */
|
|
5285
|
+
}
|
|
5286
|
+
}
|
|
5287
|
+
const uniqueConflictCreate = {
|
|
5288
|
+
applicable: (ctx) => ctx.uniqueCreateOp !== undefined &&
|
|
5289
|
+
(ctx.uniqueSets?.length ?? 0) > 0 &&
|
|
5290
|
+
ctx.records.length > 0 &&
|
|
5291
|
+
probeableUniqueSets(ctx.uniqueCreateOp, ctx.model, "create", ctx.uniqueSets).length > 0,
|
|
5292
|
+
id: "create.unique-conflict-rejected",
|
|
5293
|
+
mutates: true,
|
|
5294
|
+
needs: "x-unique on create with at least one probeable column set, and a known row",
|
|
5295
|
+
async run(ctx) {
|
|
5296
|
+
const createOp = ctx.uniqueCreateOp;
|
|
5297
|
+
if (createOp === undefined)
|
|
5298
|
+
return;
|
|
5299
|
+
const sets = probeableUniqueSets(createOp, ctx.model, "create", ctx.uniqueSets);
|
|
5300
|
+
const schema = requestSchemaOf(ctx, createOp);
|
|
5301
|
+
const bodyCols = bodyPropertyNames(createOp, ctx.model);
|
|
5302
|
+
const path = fillPath(createOp.path, ctx.scope);
|
|
5303
|
+
const required = idempotencyHeaderRequired(createOp, ctx.model);
|
|
5304
|
+
const listLimit = ctx.query?.maxLimit ?? 100;
|
|
5305
|
+
const before = await list(ctx, q(ctx, { limit: listLimit }));
|
|
5306
|
+
const listResolved = before.exchange.status < 400;
|
|
5307
|
+
const evidence = listResolved ? [before.exchange] : [];
|
|
5308
|
+
const seedId = ctx.records[0] === undefined ? undefined : String(ctx.records[0][ctx.identity]);
|
|
5309
|
+
const known = (await liveRecord(ctx, seedId)) ?? ctx.records[0];
|
|
5310
|
+
if (known === undefined) {
|
|
5311
|
+
return ctx.findings.unresolved(this.id, ctx.entityName, "no known row to collide unique values against");
|
|
5312
|
+
}
|
|
5313
|
+
for (const [index, set] of sets.entries()) {
|
|
5314
|
+
const base = uniquifyProbeBody(validBody(ctx, schema ?? {}), ctx.uniqueSets, schema, `u${ctx.seed}${index}${ctx.client.transcript.length}`);
|
|
5315
|
+
const body = collisionCreateBody(base, known, set, ctx.scope, bodyCols, createOp.generated);
|
|
5316
|
+
if (body === null)
|
|
5317
|
+
continue;
|
|
5318
|
+
const headers = uniqueProbeHeaders(ctx.auth(), createOp.idempotencyHeader, required, `oat-unique-${ctx.entityName}-${ctx.seed}-${index}`);
|
|
5319
|
+
const encoded = await encodeOpBody(ctx, createOp, body);
|
|
5320
|
+
const probe = await ctx.client.request("POST", path, { ...encoded, headers, operationId: createOp.operationId });
|
|
5321
|
+
evidence.push(probe);
|
|
5322
|
+
if (standDownForFeatureGate(ctx, createOp, probe, this.id))
|
|
5323
|
+
continue;
|
|
5324
|
+
if (isPlanLimitResponse(probe.status, probe.responseBody)) {
|
|
5325
|
+
ctx.findings.gap(this.id, ctx.entityName, `${createOp.operationId} did not apply`, `${createOp.operationId} returned ${probe.status} (plan limit) on a unique-conflict ` +
|
|
5326
|
+
"probe, so uniqueness was not observed.");
|
|
5327
|
+
continue;
|
|
5328
|
+
}
|
|
5329
|
+
const after = await list(ctx, q(ctx, { limit: listLimit }));
|
|
5330
|
+
if (after.exchange.status < 400)
|
|
5331
|
+
evidence.push(after.exchange);
|
|
5332
|
+
if (probe.status === 409) {
|
|
5333
|
+
if (ctx.validator !== undefined) {
|
|
5334
|
+
reportUniqueSchemaDrift(ctx.findings, ctx.validator, createOp, ctx.model.rawOperations.get(createOp.operationId), probe, ctx.entityName);
|
|
5335
|
+
}
|
|
5336
|
+
if (listResolved && after.exchange.status < 400 && after.items.length > before.items.length) {
|
|
5337
|
+
ctx.findings.backend(this.id, ctx.entityName, "a unique-conflict 409 still grew the collection", `POST colliding ${set.join(", ")} returned 409 but the list grew from ` +
|
|
5338
|
+
`${before.items.length} to ${after.items.length}.`, [before.exchange, probe, after.exchange]);
|
|
5339
|
+
}
|
|
5340
|
+
continue;
|
|
5341
|
+
}
|
|
5342
|
+
if (probe.status >= 200 && probe.status < 300) {
|
|
5343
|
+
const returned = (probe.responseBody ?? {});
|
|
5344
|
+
const id = returned[ctx.identity];
|
|
5345
|
+
if (typeof id === "string" || typeof id === "number")
|
|
5346
|
+
await teardownCreatedId(ctx, String(id));
|
|
5347
|
+
ctx.findings.backend(this.id, ctx.entityName, "a duplicate unique-set create was accepted", `${createOp.operationId} returned ${probe.status} for a second create colliding ` +
|
|
5348
|
+
`${set.join(", ")}. A documented unique constraint must be 409, not 2xx.`, evidence.slice(-3));
|
|
5349
|
+
continue;
|
|
5350
|
+
}
|
|
5351
|
+
ctx.findings.unresolved(this.id, ctx.entityName, `unique probe for ${set.join(", ")} returned ${probe.status}, which is not a 409 unique conflict`);
|
|
5352
|
+
}
|
|
5353
|
+
},
|
|
5354
|
+
};
|
|
5355
|
+
const uniqueConflictUpdate = {
|
|
5356
|
+
applicable: (ctx) => ctx.uniqueUpdateOp !== undefined &&
|
|
5357
|
+
(ctx.uniqueSets?.length ?? 0) > 0 &&
|
|
5358
|
+
ctx.records.length >= 2 &&
|
|
5359
|
+
probeableUniqueSets(ctx.uniqueUpdateOp, ctx.model, "update", ctx.uniqueSets).length > 0,
|
|
5360
|
+
id: "update.unique-conflict-rejected",
|
|
5361
|
+
mutates: true,
|
|
5362
|
+
needs: "x-unique, an update operation with a probeable set, and two known rows",
|
|
5363
|
+
async run(ctx) {
|
|
5364
|
+
const updateOp = ctx.uniqueUpdateOp;
|
|
5365
|
+
if (updateOp === undefined)
|
|
5366
|
+
return;
|
|
5367
|
+
const sets = probeableUniqueSets(updateOp, ctx.model, "update", ctx.uniqueSets);
|
|
5368
|
+
const bodyCols = bodyPropertyNames(updateOp, ctx.model);
|
|
5369
|
+
const required = idempotencyHeaderRequired(updateOp, ctx.model);
|
|
5370
|
+
const listLimit = ctx.query?.maxLimit ?? 100;
|
|
5371
|
+
const before = await list(ctx, q(ctx, { limit: listLimit }));
|
|
5372
|
+
const listResolved = before.exchange.status < 400;
|
|
5373
|
+
const live = [];
|
|
5374
|
+
for (const row of ctx.records) {
|
|
5375
|
+
const id = String(row[ctx.identity]);
|
|
5376
|
+
live.push((await liveRecord(ctx, id)) ?? row);
|
|
5377
|
+
}
|
|
5378
|
+
if (live.length < 2) {
|
|
5379
|
+
return ctx.findings.unresolved(this.id, ctx.entityName, "need two live rows to PATCH one onto the other's unique values");
|
|
5380
|
+
}
|
|
5381
|
+
for (const [index, set] of sets.entries()) {
|
|
5382
|
+
const source = live[0];
|
|
5383
|
+
if (source === undefined)
|
|
5384
|
+
return;
|
|
5385
|
+
const target = live.find((row) => {
|
|
5386
|
+
if (String(row[ctx.identity]) === String(source[ctx.identity]))
|
|
5387
|
+
return false;
|
|
5388
|
+
return set.some((col) => JSON.stringify(row[col]) !== JSON.stringify(source[col]));
|
|
5389
|
+
});
|
|
5390
|
+
if (target === undefined)
|
|
5391
|
+
continue;
|
|
5392
|
+
const patch = collisionUpdatePatch(source, set, ctx.scope, bodyCols, updateOp.immutable, updateOp.generated);
|
|
5393
|
+
if (patch === null)
|
|
5394
|
+
continue;
|
|
5395
|
+
const id = String(target[ctx.identity]);
|
|
5396
|
+
const params = { ...ctx.scope, ...itemParamFor(ctx, id) };
|
|
5397
|
+
const headers = uniqueProbeHeaders(ctx.auth(), updateOp.idempotencyHeader, required, `oat-unique-patch-${ctx.entityName}-${ctx.seed}-${index}`);
|
|
5398
|
+
const encoded = await encodeOpBody(ctx, updateOp, patch);
|
|
5399
|
+
const probe = await ctx.client.request("PATCH", fillPath(updateOp.path, params), {
|
|
5400
|
+
...encoded,
|
|
5401
|
+
headers,
|
|
5402
|
+
operationId: updateOp.operationId,
|
|
5403
|
+
});
|
|
5404
|
+
if (standDownForFeatureGate(ctx, updateOp, probe, this.id))
|
|
5405
|
+
continue;
|
|
5406
|
+
if (isPlanLimitResponse(probe.status, probe.responseBody)) {
|
|
5407
|
+
ctx.findings.gap(this.id, ctx.entityName, `${updateOp.operationId} did not apply`, `${updateOp.operationId} returned ${probe.status} (plan limit) on a unique-conflict ` +
|
|
5408
|
+
"probe, so uniqueness was not observed.");
|
|
5409
|
+
continue;
|
|
5410
|
+
}
|
|
5411
|
+
const after = await list(ctx, q(ctx, { limit: listLimit }));
|
|
5412
|
+
if (probe.status === 409) {
|
|
5413
|
+
if (ctx.validator !== undefined) {
|
|
5414
|
+
reportUniqueSchemaDrift(ctx.findings, ctx.validator, updateOp, ctx.model.rawOperations.get(updateOp.operationId), probe, ctx.entityName);
|
|
5415
|
+
}
|
|
5416
|
+
if (listResolved && after.exchange.status < 400 && after.items.length > before.items.length) {
|
|
5417
|
+
ctx.findings.backend(this.id, ctx.entityName, "a unique-conflict 409 still grew the collection", `PATCH colliding ${set.join(", ")} returned 409 but the list grew from ` +
|
|
5418
|
+
`${before.items.length} to ${after.items.length}.`, [before.exchange, probe, after.exchange]);
|
|
5419
|
+
}
|
|
5420
|
+
continue;
|
|
5421
|
+
}
|
|
5422
|
+
if (probe.status >= 200 && probe.status < 300) {
|
|
5423
|
+
const revert = {};
|
|
5424
|
+
for (const col of Object.keys(patch))
|
|
5425
|
+
revert[col] = target[col];
|
|
5426
|
+
if (Object.keys(revert).length > 0) {
|
|
5427
|
+
await ctx.client.request("PATCH", fillPath(updateOp.path, params), {
|
|
5428
|
+
...(await encodeOpBody(ctx, updateOp, revert)),
|
|
5429
|
+
headers: ctx.auth(),
|
|
5430
|
+
});
|
|
5431
|
+
}
|
|
5432
|
+
ctx.findings.backend(this.id, ctx.entityName, "a duplicate unique-set update was accepted", `${updateOp.operationId} returned ${probe.status} when PATCHing a different row ` +
|
|
5433
|
+
`onto ${set.join(", ")} values already held by another row. A documented unique ` +
|
|
5434
|
+
"constraint must be 409, not 2xx.", [probe]);
|
|
5435
|
+
continue;
|
|
5436
|
+
}
|
|
5437
|
+
ctx.findings.unresolved(this.id, ctx.entityName, `unique PATCH for ${set.join(", ")} returned ${probe.status}, which is not a 409 unique conflict`);
|
|
5438
|
+
}
|
|
5439
|
+
},
|
|
5440
|
+
};
|
|
5252
5441
|
export const CHECKS = [
|
|
5253
5442
|
/* foundations — did the write land, is it visible, and do the paging primitives work at all.
|
|
5254
5443
|
* Everything below assumes these hold, so they must be evaluated first for cascade
|
|
@@ -5308,6 +5497,8 @@ export const CHECKS = [
|
|
|
5308
5497
|
filterLteIsLtOrEq,
|
|
5309
5498
|
filterOrderedTriplePartitions,
|
|
5310
5499
|
/* write semantics */
|
|
5500
|
+
uniqueConflictCreate,
|
|
5501
|
+
uniqueConflictUpdate,
|
|
5311
5502
|
patchMinimality,
|
|
5312
5503
|
immutableRejected,
|
|
5313
5504
|
stringPayloadSurvives,
|