UNPKG

serverless-spy

Version:

CDK-based library for writing elegant integration tests on AWS serverless architecture and an additional web console to monitor events in real time.

51 lines (45 loc) 2.54 kB
import Agent from './agent' import Dispatcher from './dispatcher' import { Interceptable, MockInterceptor } from './mock-interceptor' import MockDispatch = MockInterceptor.MockDispatch; export default MockAgent interface PendingInterceptor extends MockDispatch { origin: string; } /** A mocked Agent class that implements the Agent API. It allows one to intercept HTTP requests made through undici and return mocked responses instead. */ declare class MockAgent<TMockAgentOptions extends MockAgent.Options = MockAgent.Options> extends Dispatcher { constructor(options?: MockAgent.Options) /** Creates and retrieves mock Dispatcher instances which can then be used to intercept HTTP requests. If the number of connections on the mock agent is set to 1, a MockClient instance is returned. Otherwise a MockPool instance is returned. */ get<TInterceptable extends Interceptable>(origin: string): TInterceptable; get<TInterceptable extends Interceptable>(origin: RegExp): TInterceptable; get<TInterceptable extends Interceptable>(origin: ((origin: string) => boolean)): TInterceptable; /** Dispatches a mocked request. */ dispatch(options: Agent.DispatchOptions, handler: Dispatcher.DispatchHandlers): boolean; /** Closes the mock agent and waits for registered mock pools and clients to also close before resolving. */ close(): Promise<void>; /** Disables mocking in MockAgent. */ deactivate(): void; /** Enables mocking in a MockAgent instance. When instantiated, a MockAgent is automatically activated. Therefore, this method is only effective after `MockAgent.deactivate` has been called. */ activate(): void; /** Define host matchers so only matching requests that aren't intercepted by the mock dispatchers will be attempted. */ enableNetConnect(): void; enableNetConnect(host: string): void; enableNetConnect(host: RegExp): void; enableNetConnect(host: ((host: string) => boolean)): void; /** Causes all requests to throw when requests are not matched in a MockAgent intercept. */ disableNetConnect(): void; pendingInterceptors(): PendingInterceptor[]; assertNoPendingInterceptors(options?: { pendingInterceptorsFormatter?: PendingInterceptorsFormatter; }): void; } interface PendingInterceptorsFormatter { format(pendingInterceptors: readonly PendingInterceptor[]): string; } declare namespace MockAgent { /** MockAgent options. */ export interface Options extends Agent.Options { /** A custom agent to be encapsulated by the MockAgent. */ agent?: Agent; } }