feat(device-plane): add universal adapter acceptance boundary
This commit is contained in:
@@ -66,11 +66,22 @@ test("parses and acknowledges the official package example", () => {
|
||||
tryParseB2Package(specificationPackage.subarray(0, -1)).status,
|
||||
"incomplete",
|
||||
);
|
||||
assert.deepEqual(tryParseB2Package(specificationPackage), {
|
||||
status: "complete",
|
||||
bytesConsumed: specificationPackage.length,
|
||||
const parsed = tryParseB2Package(specificationPackage);
|
||||
assert.equal(parsed.status, "complete");
|
||||
assert.equal(parsed.bytesConsumed, specificationPackage.length);
|
||||
assert.equal(parsed.packageNumber, 1);
|
||||
assert.equal(parsed.packetCount, 1);
|
||||
assert.equal(parsed.messageType, "telemetry.package");
|
||||
assert.equal(
|
||||
parsed.payloadSchemaRef,
|
||||
"arusnavi.internal.package-metadata.v1",
|
||||
);
|
||||
assert.deepEqual(parsed.payload, {
|
||||
packageNumber: 1,
|
||||
packetCount: 1,
|
||||
byteLength: specificationPackage.length,
|
||||
packageDigest:
|
||||
"sha256:bba7205d2f613ac3dfdb7bccdee292b3837e1c8d3d1254ee68bba2dda3853e11",
|
||||
});
|
||||
assert.equal(
|
||||
buildB2PackageAcknowledgement(1).toString("hex").toUpperCase(),
|
||||
@@ -93,12 +104,14 @@ test("uses packet lengths and checksum instead of scanning for 0x5D", () => {
|
||||
checksum,
|
||||
0x5d,
|
||||
]);
|
||||
assert.deepEqual(tryParseB2Package(packageBytes), {
|
||||
status: "complete",
|
||||
bytesConsumed: packageBytes.length,
|
||||
packageNumber: 2,
|
||||
packetCount: 1,
|
||||
});
|
||||
const parsed = tryParseB2Package(packageBytes);
|
||||
assert.equal(parsed.status, "complete");
|
||||
assert.equal(parsed.bytesConsumed, packageBytes.length);
|
||||
assert.equal(parsed.packageNumber, 2);
|
||||
assert.equal(parsed.packetCount, 1);
|
||||
assert.equal(parsed.messageType, "telemetry.package");
|
||||
assert.equal(parsed.payload.byteLength, packageBytes.length);
|
||||
assert.match(parsed.payload.packageDigest, /^sha256:[a-f0-9]{64}$/);
|
||||
});
|
||||
|
||||
test("fails closed on unsupported headers and malformed packages", () => {
|
||||
|
||||
Reference in New Issue
Block a user