Skip to content

Connectum API Reference / @connectum/events-amqp / testing / FakeAmqpControl

Interface: FakeAmqpControl

Defined in: packages/events-amqp/src/testing.ts:88

Deterministic control surface of the fake.

Properties

published

readonly published: readonly FakePublishedRecord[]

Defined in: packages/events-amqp/src/testing.ts:130

Successfully acked publishes, in order.

Methods

block()

block(reason?): void

Defined in: packages/events-amqp/src/testing.ts:120

Broker flow control: blocked { reason } / unblocked (union-only events).

Parameters

reason?

string

Returns

void


completeRecovery()

completeRecovery(): void

Defined in: packages/events-amqp/src/testing.ts:111

Advance a pending recovery: consumes a queued failSetup (reported per its gating, stays recovering) or, with nothing queued, completes with connected { reconnected: true } and settles parked subscribes.

Returns

void


deliver()

deliver(eventType, payload, options?): Promise<FakeDeliveryResult>

Defined in: packages/events-amqp/src/testing.ts:140

Deliver an event to matching subscriptions (NATS-style wildcard matching, one consumer per distinct group — competing-consumer parity; requires the connected state, like a real broker). Internal envelope keys (x-event-id, x-published-at, x-connectum-publish-id) are honored and stripped from handler-visible metadata, mirroring the real consumer. Resolves with the settlement summary once every handler settles; handler rejections are swallowed (counted in failed).

Parameters

eventType

string

payload

Uint8Array

options?
attempt?

number

metadata?

Record<string, string>

Returns

Promise<FakeDeliveryResult>


dropConnection()

dropConnection(error?): void

Defined in: packages/events-amqp/src/testing.ts:105

Sever the connection: dispatches disconnected { error } then reconnecting { attempt: 1, delay: 0 } and parks in the recovering state — publishes fail fast with AmqpConnectionError, exactly like the real adapter's recovery window; new subscribe() calls PARK.

Parameters

error?

Error

Returns

void


exhaustRecovery()

exhaustRecovery(error?): void

Defined in: packages/events-amqp/src/testing.ts:118

Terminal outcome: reconnect-failed { error }. The dead adapter fails publishes fast, rejects parked subscribes typed, and deactivates all subscriptions (the cycle died — so did its consumers). Reconnect requires disconnect() first, like the real retries-exhausted state.

Parameters

error?

Error

Returns

void


failSetup()

failSetup(error?, object?): void

Defined in: packages/events-amqp/src/testing.ts:98

Queue a setup failure. An AmqpTopologyError (the default) follows the real gating: setup-failed { initial: true, attempt: 0 } at connect() (typed rejection under failFastOnInitialSetupError), or setup-failed { initial: false, attempt } at the next completeRecovery. A NON-topology error follows the real gating too: no setup-failed event — at connect() it is consumed silently, at completeRecovery it only schedules the next reconnecting.

Parameters

error?

Error

object?

AmqpTopologyObject

Returns

void


nextPublish()

nextPublish(...outcomes): void

Defined in: packages/events-amqp/src/testing.ts:128

Queue FIFO outcomes for upcoming publish() calls. An empty queue means "ack". Use the real error classes (AmqpPublishNackError, AmqpConnectionError, AmqpPublishTimeoutError — the state-UNKNOWN outcome only this fake reproduces deterministically, …).

Parameters

outcomes

...FakePublishOutcome[]

Returns

void


unblock()

unblock(): void

Defined in: packages/events-amqp/src/testing.ts:121

Returns

void