Testing utilities for MQTT Wire.
This subpath export (@qualithm/mqtt-wire/testing) provides:
@qualithm/mqtt-wire/testing
import { // Builders connect, connack, publish, subscribe, // Harness TestHarness, createTestHarness, // Generators arbPublishPacket, arbChunkSplits, // Fixtures fixtures, fromHex} from "@qualithm/mqtt-wire/testing"// Build packets fluentlyconst packet = publish("sensors/temp").payload("22.5").qos(1).packetId(1).build()// Test with harnessconst harness = createTestHarness()await harness.wire.connect({ clientId: "test" })// Property-based testingfc.assert(fc.property(arbPublishPacket, (packet) => { const encoded = encodePacket(packet) const decoded = decodePacket(encoded) return decoded.ok}))// Use spec fixturesfor (const fixture of fixtures.publish) { expect(encodePacket(fixture.packet)).toEqual(fixture.bytes)} Copy
import { // Builders connect, connack, publish, subscribe, // Harness TestHarness, createTestHarness, // Generators arbPublishPacket, arbChunkSplits, // Fixtures fixtures, fromHex} from "@qualithm/mqtt-wire/testing"// Build packets fluentlyconst packet = publish("sensors/temp").payload("22.5").qos(1).packetId(1).build()// Test with harnessconst harness = createTestHarness()await harness.wire.connect({ clientId: "test" })// Property-based testingfc.assert(fc.property(arbPublishPacket, (packet) => { const encoded = encodePacket(packet) const decoded = decodePacket(encoded) return decoded.ok}))// Use spec fixturesfor (const fixture of fixtures.publish) { expect(encodePacket(fixture.packet)).toEqual(fixture.bytes)}
Testing utilities for MQTT Wire.
This subpath export (
@qualithm/mqtt-wire/testing) provides:Example