fix(device-core): bind edge telemetry to enrolled route

This commit is contained in:
Codex
2026-08-13 09:41:14 +03:00
parent fe1c8054be
commit 71fff82c99
7 changed files with 309 additions and 10 deletions
@@ -53,6 +53,55 @@ test("shared gateway ingest masks identifiers for HTTP and Edge callers", async
assert.equal(JSON.stringify(stored).includes(rawImei), false);
});
test("authenticated Edge identity resolves the allowlisted project route", async () => {
const stored = [];
const resolutions = [];
const authenticatedEdgeRef = "edge:11111111-1111-4111-8111-111111111111";
const routeRef = "route:22222222-2222-4222-8222-222222222222";
const ingest = createDeviceGatewayIngest({
identifierPepper,
repository: {
async resolveInboundRoute(value) {
resolutions.push(value);
return routeRef;
},
async upsertQuarantineDiscovery(value) {
stored.push(value);
return {
created: false,
value: { ...value.safeView, discoveryRef: "discovery:test" },
};
},
async acceptAdapterMessage(value) {
stored.push(value);
return {
acceptance: {
schemaVersion: "nodedc.device-adapter-acceptance.v1",
acceptanceRef: "acceptance:test",
idempotencyKey: value.safeView.idempotencyKey,
status: "accepted",
replayed: false,
acceptedAt: "2026-08-11T12:00:00.000Z",
},
claimedDeviceRef: null,
};
},
},
});
await ingest.observeDiscovery(discoverySignal(), { authenticatedEdgeRef });
await ingest.acceptMessage(adapterMessage(), { authenticatedEdgeRef });
assert.equal(resolutions.length, 2);
assert.equal(resolutions[0].edgeRef, authenticatedEdgeRef);
assert.match(resolutions[0].identifierDigest, /^hmac-sha256:[a-f0-9]{64}$/);
assert.equal(stored[0].safeView.routeRef, routeRef);
assert.equal(stored[1].safeView.routeRef, routeRef);
assert.equal(stored[1].safeView.edgeRef, authenticatedEdgeRef);
assert.notEqual(stored[1].safeView.edgeRef, adapterMessage().edgeRef);
assert.equal(JSON.stringify(resolutions).includes(rawImei), false);
});
function discoverySignal() {
return {
schemaVersion: DEVICE_DISCOVERY_SIGNAL_SCHEMA,