aws-crt
Version:
NodeJS/browser bindings to the aws-c-* libraries
49 lines (48 loc) • 3.14 kB
TypeScript
import * as protocol_adapter from "./protocol_adapter";
import { BufferedEventEmitter } from "../../common/event";
import { ICrtError } from "../../common/error";
import * as subscription_manager from "./subscription_manager";
import { IncomingPublishEventListener } from "./protocol_adapter";
export interface ProtocolAdapterApiCall {
methodName: string;
args: any;
}
export interface MockProtocolAdapterOptions {
subscribeHandler?: (adapter: MockProtocolAdapter, subscribeOptions: protocol_adapter.SubscribeOptions, context?: any) => void;
subscribeHandlerContext?: any;
unsubscribeHandler?: (adapter: MockProtocolAdapter, unsubscribeOptions: protocol_adapter.UnsubscribeOptions, context?: any) => void;
unsubscribeHandlerContext?: any;
publishHandler?: (adapter: MockProtocolAdapter, publishOptions: protocol_adapter.PublishOptions, context?: any) => void;
publishHandlerContext?: any;
}
export declare class MockProtocolAdapter extends BufferedEventEmitter {
private options?;
private apiCalls;
private connectionState;
constructor(options?: MockProtocolAdapterOptions | undefined);
close(): void;
publish(publishOptions: protocol_adapter.PublishOptions): void;
subscribe(subscribeOptions: protocol_adapter.SubscribeOptions): void;
unsubscribe(unsubscribeOptions: protocol_adapter.UnsubscribeOptions): void;
connect(joinedSession?: boolean): void;
disconnect(): void;
getApiCalls(): Array<ProtocolAdapterApiCall>;
getConnectionState(): protocol_adapter.ConnectionState;
completeSubscribe(topicFilter: string, err?: ICrtError, retryable?: boolean): void;
completeUnsubscribe(topicFilter: string, err?: ICrtError, retryable?: boolean): void;
completePublish(completionData: any, err?: ICrtError): void;
triggerIncomingPublish(topic: string, payload: ArrayBuffer): void;
on(event: 'publishCompletion', listener: protocol_adapter.PublishCompletionEventListener): this;
on(event: 'subscribeCompletion', listener: protocol_adapter.SubscribeCompletionEventListener): this;
on(event: 'unsubscribeCompletion', listener: protocol_adapter.UnsubscribeCompletionEventListener): this;
on(event: 'connectionStatus', listener: protocol_adapter.ConnectionStatusEventListener): this;
on(event: 'incomingPublish', listener: IncomingPublishEventListener): this;
}
export interface SubscriptionManagerEvent {
type: subscription_manager.SubscriptionEventType;
data: any;
}
export declare function subscriptionManagerEventSequenceContainsEvent(eventSequence: SubscriptionManagerEvent[], expectedEvent: SubscriptionManagerEvent): boolean;
export declare function subscriptionManagerEventSequenceContainsEvents(eventSequence: SubscriptionManagerEvent[], expectedEvents: SubscriptionManagerEvent[]): boolean;
export declare function protocolAdapterApiCallSequenceContainsApiCall(apiCallSequence: ProtocolAdapterApiCall[], expectedApiCall: ProtocolAdapterApiCall): boolean;
export declare function protocolAdapterApiCallSequenceContainsApiCalls(apiCallSequence: ProtocolAdapterApiCall[], expectedApiCalls: ProtocolAdapterApiCall[]): boolean;