ivr-tester
Version:
An automated testing framework for IVR call flows
43 lines (42 loc) • 1.39 kB
TypeScript
/// <reference types="node" />
import { URL } from "url";
import { DtmfBufferGenerator } from "../call/dtmf/DtmfBufferGenerator";
import { Emitter, TypedEmitter } from "../Emitter";
import { Call } from "../call/Call";
import { TestAssigner } from "./IteratingTestAssigner";
import { TestExecutor } from "./TestExecutor";
import { TestSession } from "../testRunner";
export declare type CallServerEvents = {
callConnected: {
call: Call;
};
testStarted: {
testSession: TestSession;
};
listening: {
localUrl: URL;
};
stopped: undefined;
error: {
error: Error;
};
};
export interface CallServer extends Emitter<CallServerEvents> {
listen(port: number): Promise<URL>;
stop(): void;
}
export declare class TwilioCallServer extends TypedEmitter<CallServerEvents> implements CallServer {
private readonly dtmfBufferGenerator;
private readonly testAssigner;
private readonly testExecutor;
private static TestCouldNotBeAssignedReason;
private wss;
constructor(dtmfBufferGenerator: DtmfBufferGenerator, testAssigner: TestAssigner, testExecutor: TestExecutor);
private static formatServerUrl;
static convertToWebSocketUrl(serverUrl: string | URL): URL;
listen(port: number): Promise<URL>;
stop(): Promise<void>;
private callConnected;
private closed;
private serverError;
}