@qualithm/mqtt-wire - v0.1.5
    Preparing search index...

    Module testing

    Testing utilities for MQTT Wire.

    This subpath export (@qualithm/mqtt-wire/testing) provides:

    • Packet builders — Fluent API for constructing test packets
    • Fast-check generators — Arbitraries for property-based testing
    • Test harness — Mock MqttWire for testing client code
    • Fixtures — Spec-compliant packet examples
    import {
    // Builders
    connect, connack, publish, subscribe,
    // Harness
    TestHarness, createTestHarness,
    // Generators
    arbPublishPacket, arbChunkSplits,
    // Fixtures
    fixtures, fromHex
    } from "@qualithm/mqtt-wire/testing"

    // Build packets fluently
    const packet = publish("sensors/temp").payload("22.5").qos(1).packetId(1).build()

    // Test with harness
    const harness = createTestHarness()
    await harness.wire.connect({ clientId: "test" })

    // Property-based testing
    fc.assert(fc.property(arbPublishPacket, (packet) => {
    const encoded = encodePacket(packet)
    const decoded = decodePacket(encoded)
    return decoded.ok
    }))

    // Use spec fixtures
    for (const fixture of fixtures.publish) {
    expect(encodePacket(fixture.packet)).toEqual(fixture.bytes)
    }

    Classes

    AuthBuilder
    ConnackBuilder
    ConnectBuilder
    DisconnectBuilder
    PubackBuilder
    PubcompBuilder
    PublishBuilder
    PubrecBuilder
    PubrelBuilder
    SubackBuilder
    SubscribeBuilder
    TestHarness
    UnsubackBuilder
    UnsubscribeBuilder
    WillBuilder

    Type Aliases

    ChunkSplitResult
    DisconnectRecord
    EdgeCaseFixture
    FixturesCollection
    HookCallRecords
    MalformedFixture
    PacketFixture
    ReceivedPacketRecord
    SentPacketRecord
    TestHarnessOptions

    Variables

    allValidFixtures
    arbAuthPacket
    arbAuthProperties
    arbBinary
    arbClientId
    arbConnackPacket
    arbConnackProperties
    arbConnectPacket
    arbConnectProperties
    arbDeleteBytes
    arbDisconnectPacket
    arbDisconnectProperties
    arbInsertBytes
    arbMqttPacket
    arbMqttString
    arbMutateByte
    arbMutation
    arbPacketId
    arbPingreqPacket
    arbPingrespPacket
    arbProtocolVersion
    arbPubackPacket
    arbPubAckProperties
    arbPubcompPacket
    arbPublishPacket
    arbPublishProperties
    arbPublishQoS0Packet
    arbPublishQoS12Packet
    arbPubrecPacket
    arbPubrelPacket
    arbQoS
    arbReasonCode
    arbSmallBinary
    arbSubackPacket
    arbSubackProperties
    arbSubscribePacket
    arbSubscribeProperties
    arbSubscription
    arbSubscriptionOptions
    arbSuccessReasonCode
    arbTopicFilter
    arbTopicName
    arbTruncate
    arbUnsubackPacket
    arbUnsubackProperties
    arbUnsubscribePacket
    arbUnsubscribeProperties
    arbUserProperties
    arbUserProperty
    arbWillMessage
    arbWillProperties
    connackFixtures
    connectFixtures
    disconnectFixtures
    edgeCaseFixtures
    fixtures
    malformedFixtures
    pingreqFixtures
    pingrespFixtures
    pubackFixtures
    pubcompFixtures
    publishFixtures
    pubrecFixtures
    pubrelFixtures
    subackFixtures
    subscribeFixtures
    unsubackFixtures
    unsubscribeFixtures

    Functions

    arbChunkSplits
    arbMutations
    arbWithChunkSplits
    auth
    connack
    connect
    createTestHarness
    disconnect
    fromAscii
    fromHex
    pingreq
    pingresp
    puback
    pubcomp
    publish
    pubrec
    pubrel
    splitAtPositions
    suback
    subscribe
    unsuback
    unsubscribe