@paultaku/node-mock-server
Version:
A TypeScript-based mock server with automatic Swagger-based mock file generation
98 lines • 2.26 kB
TypeScript
/**
* Server Manager
*
* Manages mock server lifecycle (start, stop, restart).
* Provides both single-server and multi-server management.
*/
export interface MockServerConfig {
port: number;
mockRoot?: string;
autoStart?: boolean;
}
/**
* Mock Server Manager
* Manages the lifecycle of a single mock server instance
*/
export declare class MockServerManager {
private server;
private port;
private mockRoot;
private isRunning;
constructor(config: MockServerConfig);
/**
* Start server
*/
start(): Promise<void>;
/**
* Stop server
*/
stop(): Promise<void>;
/**
* Restart server
*/
restart(): Promise<void>;
/**
* Check if server is running
*/
isServerRunning(): boolean;
/**
* Get server port
*/
getPort(): number;
/**
* Get mock root directory
*/
getMockRoot(): string;
/**
* Get server status information
*/
getStatus(): {
isRunning: boolean;
port: number;
mockRoot: string;
url: string;
};
}
/**
* Multi Server Manager
* Manages multiple mock server instances on different ports
*/
export declare class MultiServerManager {
private servers;
/**
* Create and start a server
*/
createServer(port: number, config?: Partial<MockServerConfig>): Promise<MockServerManager>;
/**
* Stop and remove a server
*/
removeServer(port: number): Promise<void>;
/**
* Stop all servers
*/
stopAllServers(): Promise<void>;
/**
* Get status of all servers
*/
getAllServerStatus(): Array<{
port: number;
status: ReturnType<MockServerManager["getStatus"]>;
}>;
/**
* Get server by port
*/
getServer(port: number): MockServerManager | undefined;
/**
* Check whether a port is in use
*/
isPortInUse(port: number): boolean;
}
/**
* Factory function to create a mock server with auto-start
*/
export declare function createMockServer(port?: number): MockServerManager;
/**
* Factory function to create a multi-server manager
*/
export declare function createMultiServerManager(): MultiServerManager;
//# sourceMappingURL=server-manager.d.ts.map