UNPKG

mockttp-mvs

Version:

Mock HTTP server for testing HTTP clients and stubbing webservices

56 lines (55 loc) 2.51 kB
import { MockedEndpoint } from "../types"; import { Mockttp, AbstractMockttp, MockttpOptions, PortRange, SubscribableEvent } from "../mockttp"; import type { RequestRuleData } from "../rules/requests/request-rule"; import type { WebSocketRuleData } from '../rules/websockets/websocket-rule'; import { AdminClientEvent } from './admin-client'; export interface MockttpClientOptions extends MockttpOptions { /** * The full URL to use to connect to a Mockttp admin server when using a * remote (or local but browser) client. * * When using a local server, this option is ignored. */ adminServerUrl?: string; /** * Options to include on all client requests, e.g. to add extra * headers for authentication. */ client?: { headers?: { [key: string]: string; }; }; } export declare type MockttpClientEvent = `admin-client:${AdminClientEvent}`; /** * A Mockttp implementation, controlling a remote Mockttp admin server. * * A MockttpClient supports the exact same Mockttp API as MockttpServer, but rather * than directly using Node.js APIs to start a mock server and rewrite traffic, it * makes calls to a remote admin server to start a mock server and rewrite traffic * there. This is useful to allow proxy configuration from inside browser tests, and * to allow creating mock proxies that run on remote machines. */ export declare class MockttpClient extends AbstractMockttp implements Mockttp { private mockServerOptions; private adminClient; private requestBuilder; constructor(options?: MockttpClientOptions); enableDebug(): Promise<void>; reset: () => Promise<void>; get url(): string; get port(): number; start(port?: number | PortRange): Promise<void>; stop(): Promise<void>; addRequestRules: (...rules: RequestRuleData[]) => Promise<MockedEndpoint[]>; setRequestRules: (...rules: RequestRuleData[]) => Promise<MockedEndpoint[]>; addWebSocketRules: (...rules: WebSocketRuleData[]) => Promise<MockedEndpoint[]>; setWebSocketRules: (...rules: WebSocketRuleData[]) => Promise<MockedEndpoint[]>; private _addRequestRules; private _addWsRules; getMockedEndpoints(): Promise<MockedEndpoint[]>; getPendingEndpoints(): Promise<MockedEndpoint[]>; getRuleParameterKeys(): Promise<string[]>; on(event: SubscribableEvent | MockttpClientEvent, callback: (data: any) => void): Promise<void>; }