PURISTA API / @purista/core / createStreamTestHarness
Function: createStreamTestHarness()
createStreamTestHarness<
TServiceBuilder,TStreamBuilder>(serviceBuilder,streamBuilder,options?):Promise<{destroy: () =>Promise<void>;eventBridge:EventBridge;run: (input) =>Promise<{chunks:Infer<InferStreamBuilderConfig<TStreamBuilder>["ChunkSchema"]>[];final:Infer<InferStreamBuilderConfig<TStreamBuilder>["FinalSchema"]> |undefined;frames:object[]; }>;service:Service<ServiceClassTypes<EmptyObject,EmptyObject>>;stubs: {eventBridge:Record<string,SinonStub<any[],any>> |undefined; }; }>
Defined in: testing/createStreamTestHarness.ts:71
Boot a real service instance and execute one stream through the PURISTA runtime.
Use this helper when you want to assert emitted stream frames, final payloads, and guard behavior.
Type Parameters
TServiceBuilder
TServiceBuilder extends ServiceBuilder<ServiceBuilderTypes>
TStreamBuilder
TStreamBuilder extends StreamDefinitionBuilder<any, any>
Parameters
serviceBuilder
TServiceBuilder
streamBuilder
TStreamBuilder
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 InferStreamHarnessServiceBuilderConfig<TServiceBuilder>["Resources"] extends never ? { resources?: undefined } : { resources: InferStreamHarnessServiceBuilderConfig<TServiceBuilder>["Resources"] }) & (keyof InferStreamHarnessServiceBuilderConfig<TServiceBuilder>["ConfigInputType"] extends never ? { serviceConfig?: undefined } : { serviceConfig?: InferStreamHarnessServiceBuilderConfig<TServiceBuilder>["ConfigInputType"] }))[K] } & object = ...
Returns
Promise<{ destroy: () => Promise<void>; eventBridge: EventBridge; run: (input) => Promise<{ chunks: Infer<InferStreamBuilderConfig<TStreamBuilder>["ChunkSchema"]>[]; final: Infer<InferStreamBuilderConfig<TStreamBuilder>["FinalSchema"]> | undefined; frames: object[]; }>; service: Service<ServiceClassTypes<EmptyObject, EmptyObject>>; stubs: { eventBridge: Record<string, SinonStub<any[], any>> | undefined; }; }>
