@deepkit/framework
Version:
33 lines (32 loc) • 1.39 kB
TypeScript
import { BrokerKernel } from '@deepkit/broker';
import { ClassType } from '@deepkit/core';
import { LogMessage, MemoryLoggerTransport } from '@deepkit/logger';
import { BrokerServer } from './broker/broker.js';
import { App, AppModule, RootModuleDefinition } from '@deepkit/app';
import { MemoryHttpResponse, RequestBuilder } from '@deepkit/http';
import { RpcClient } from '@deepkit/rpc';
/**
* @deprecated use {@link MemoryHttpResponse} instead
*/
export declare class TestHttpResponse extends MemoryHttpResponse {
}
export declare class TestingFacade<A extends App<any>> {
app: A;
constructor(app: A);
getLogger(): MemoryLoggerTransport;
startServer(): Promise<void>;
stopServer(graceful?: boolean): Promise<void>;
request(requestBuilder: RequestBuilder): Promise<MemoryHttpResponse>;
createRpcClient(): RpcClient;
getLogMessages(): LogMessage[];
}
export declare class BrokerMemoryServer extends BrokerServer {
kernel: BrokerKernel;
start(): Promise<void>;
stop(): Promise<void>;
}
/**
* Creates a new App instance, but with kernel services in place that work in memory.
* For example RPC/Broker/HTTP communication without TCP stack. Logger uses MemoryLogger.
*/
export declare function createTestingApp<O extends RootModuleDefinition>(options: O, entities?: ClassType[], setup?: (module: AppModule<any>) => void): TestingFacade<App<O>>;