feat(platform): add managed data product history plane
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import assert from "node:assert/strict";
|
||||
import {
|
||||
DATA_PRODUCT_HISTORY_SCHEMA_VERSION,
|
||||
DATA_PRODUCT_PATCH_SCHEMA_VERSION,
|
||||
DATA_PRODUCT_PUBLISH_SCHEMA_VERSION,
|
||||
DATA_PRODUCT_SNAPSHOT_SCHEMA_VERSION,
|
||||
validateDataProductHistory,
|
||||
validateDataProductPatch,
|
||||
validateDataProductPublish,
|
||||
validateDataProductSnapshot,
|
||||
@@ -89,6 +91,45 @@ assert.equal(validateDataProductSnapshot({
|
||||
...snapshot,
|
||||
facts: [{ ...canonicalFact, attributes: { status: "ndc_edprb_forbidden-reader-token" } }],
|
||||
}).errors.includes("snapshot_must_not_contain_secret_material"), true);
|
||||
|
||||
const history = {
|
||||
schemaVersion: DATA_PRODUCT_HISTORY_SCHEMA_VERSION,
|
||||
dataProduct: { id: "fleet.positions.current.v1", version: "1.0.0" },
|
||||
generatedAt: "2026-07-15T10:05:00.000Z",
|
||||
query: {
|
||||
from: "2026-07-15T10:00:00.000Z",
|
||||
to: "2026-07-15T10:05:00.000Z",
|
||||
resolutionMs: 60_000,
|
||||
sourceIds: ["unit-42"],
|
||||
order: "asc",
|
||||
},
|
||||
facts: [{ ...canonicalFact, bucketStart: "2026-07-15T10:00:00.000Z" }],
|
||||
nextCursor: "opaque_cursor",
|
||||
};
|
||||
assert.equal(validateDataProductHistory(history).ok, true);
|
||||
assert.equal(validateDataProductHistory({
|
||||
...history,
|
||||
query: { ...history.query, order: "desc" },
|
||||
}).errors.includes("query.order_must_be_asc"), true);
|
||||
assert.equal(validateDataProductHistory({
|
||||
...history,
|
||||
query: { ...history.query, from: history.query.to, to: history.query.from },
|
||||
}).errors.includes("query.range_invalid"), true);
|
||||
assert.equal(validateDataProductHistory({
|
||||
...history,
|
||||
query: { ...history.query, sourceIds: ["unit-42", "unit-42"] },
|
||||
}).errors.includes("query.sourceIds_must_be_unique_and_sorted"), true);
|
||||
assert.equal(validateDataProductHistory({
|
||||
...history,
|
||||
facts: [
|
||||
{ ...history.facts[0], sourceId: "unit-43" },
|
||||
history.facts[0],
|
||||
],
|
||||
}).errors.includes("facts[1]_not_strictly_ordered"), true);
|
||||
assert.equal(validateDataProductHistory({
|
||||
...history,
|
||||
facts: [{ ...history.facts[0], attributes: { token: "forbidden" } }],
|
||||
}).errors.includes("history_must_not_contain_secret_material"), true);
|
||||
assert.equal(validateDataProductSnapshot({
|
||||
...snapshot,
|
||||
facts: [{ ...canonicalFact, attributes: { status: `ndc_edppr_${"P".repeat(43)}` } }],
|
||||
|
||||
Reference in New Issue
Block a user