feat(provider-contract): add Gelios v9 telemetry projection
This commit is contained in:
@@ -8,6 +8,9 @@ import {
|
||||
import {
|
||||
geliosTelemetryFieldRegistryV1,
|
||||
} from "../providers/gelios/v8/index.mjs";
|
||||
import {
|
||||
geliosTelemetryFieldRegistryV2,
|
||||
} from "../providers/gelios/v9/index.mjs";
|
||||
|
||||
assert.deepEqual(validateTelemetryFieldRegistry(geliosTelemetryFieldRegistryV1), {
|
||||
ok: true,
|
||||
@@ -31,6 +34,37 @@ assert.equal(projection.entries.some((entry) => entry.sourceKey === "in_0"), fal
|
||||
assert.equal(Object.isFrozen(projection), true);
|
||||
assert.equal(Object.isFrozen(projection.entries), true);
|
||||
|
||||
assert.deepEqual(validateTelemetryFieldRegistry(geliosTelemetryFieldRegistryV2), {
|
||||
ok: true,
|
||||
errors: [],
|
||||
});
|
||||
const expandedProjection = compileTelemetryFieldProjection(
|
||||
geliosTelemetryFieldRegistryV2,
|
||||
{
|
||||
providerPackageId: "gelios.provider.v9",
|
||||
providerPackageVersion: "9.0.0",
|
||||
dataProductId: "fleet.positions.current.v5",
|
||||
surface: "data_product",
|
||||
},
|
||||
);
|
||||
assert.deepEqual(
|
||||
expandedProjection.entries.map((entry) => entry.sourceKey),
|
||||
["in_0", "in_1", "in0", "in1"],
|
||||
);
|
||||
assert.deepEqual(
|
||||
expandedProjection.entries.map((entry) => entry.reading.id),
|
||||
[
|
||||
"sensor.param.in_0",
|
||||
"sensor.param.in_1",
|
||||
"sensor.param.in0",
|
||||
"sensor.param.in1",
|
||||
],
|
||||
);
|
||||
assert.notEqual(
|
||||
digestTelemetryFieldRegistry(geliosTelemetryFieldRegistryV2),
|
||||
digestTelemetryFieldRegistry(geliosTelemetryFieldRegistryV1),
|
||||
);
|
||||
|
||||
const observedExposed = structuredClone(geliosTelemetryFieldRegistryV1);
|
||||
observedExposed.entries.find((entry) => entry.sourceKey === "in_0").allowedSurfaces.push("foundry");
|
||||
assert.equal(
|
||||
|
||||
Reference in New Issue
Block a user