PURISTA API / @purista/core / createQueueWorkerTestHarness
Function: createQueueWorkerTestHarness()
createQueueWorkerTestHarness<
TServiceBuilder>(serviceBuilder,workerBuilder,options?):Promise<{destroy: () =>Promise<void>;eventBridge:EventBridge;queueBridge:QueueBridge;run: <Payload,Parameter>(message) =>Promise<{ackCalls:SinonSpyCall<any[],any>[];deadLetterCalls:SinonSpyCall<any[],any>[];extendLeaseCalls:SinonSpyCall<any[],any>[];nackCalls:SinonSpyCall<any[],any>[]; }>;service:Service<ServiceClassTypes<EmptyObject,EmptyObject>>;stubs: {eventBridge:Record<string,SinonStub<any[],any>> |undefined;queueBridge:Record<string,SinonStub<any[],any>> |undefined; }; }>
Defined in: testing/createQueueWorkerTestHarness.ts:27
Boot a real service instance and execute one queue worker cycle through the PURISTA worker runtime.
Use this helper when you want to verify queue worker guards, job controls, and queue bridge interactions instead of calling the handler directly.
Type Parameters
TServiceBuilder
TServiceBuilder extends ServiceBuilder<ServiceBuilderTypes>
Parameters
serviceBuilder
TServiceBuilder
workerBuilder
options?
{ [K in string | number | symbol]: ({ ai?: AgentRuntimeOptions<Record<string, AgentModelBinding>>; configStore?: ConfigStore; logger?: Logger; logLevel?: LogLevelName; metrics?: PuristaMetricsRuntimeOptions; metricsRecorder?: PuristaMetricsRecorderInterface; queueBridge?: QueueBridge; queueJobStore?: QueueJobStore; secretStore?: SecretStore; spanProcessor?: SpanProcessor; stateStore?: StateStore } & (keyof InferQueueWorkerHarnessServiceBuilderConfig<TServiceBuilder>["Resources"] extends never ? { resources?: undefined } : { resources: InferQueueWorkerHarnessServiceBuilderConfig<TServiceBuilder>["Resources"] }) & (keyof InferQueueWorkerHarnessServiceBuilderConfig<TServiceBuilder>["ConfigInputType"] extends never ? { serviceConfig?: undefined } : { serviceConfig?: InferQueueWorkerHarnessServiceBuilderConfig<TServiceBuilder>["ConfigInputType"] }))[K] } & object = ...
Returns
Promise<{ destroy: () => Promise<void>; eventBridge: EventBridge; queueBridge: QueueBridge; run: <Payload, Parameter>(message) => Promise<{ ackCalls: SinonSpyCall<any[], any>[]; deadLetterCalls: SinonSpyCall<any[], any>[]; extendLeaseCalls: SinonSpyCall<any[], any>[]; nackCalls: SinonSpyCall<any[], any>[]; }>; service: Service<ServiceClassTypes<EmptyObject, EmptyObject>>; stubs: { eventBridge: Record<string, SinonStub<any[], any>> | undefined; queueBridge: Record<string, SinonStub<any[], any>> | undefined; }; }>
