/** * MCP Test Runner * * Centralized test execution and reporting for all Phase 5 MCP tests */ export interface TestSuite { name: string; description: string; tests: TestCase[]; setup?: () => Promise; teardown?: () => Promise; } export interface TestCase { name: string; description: string; category: 'integration' | 'performance' | 'security' | 'multi-provider'; priority: 'high' | 'medium' | 'low'; timeout?: number; retries?: number; execute: () => Promise; } export interface TestResult { passed: boolean; duration: number; error?: Error; metrics?: Record; logs?: string[]; } export interface TestRunReport { totalTests: number; passedTests: number; failedTests: number; skippedTests: number; totalDuration: number; coverage: TestCoverage; suites: SuiteResult[]; } export interface SuiteResult { suite: string; passed: number; failed: number; skipped: number; duration: number; results: TestCaseResult[]; } export interface TestCaseResult { name: string; category: string; priority: string; status: 'passed' | 'failed' | 'skipped'; duration: number; error?: string; metrics?: Record; } export interface TestCoverage { integration: number; performance: number; security: number; multiProvider: number; overall: number; } /** * MCP Test Runner */ export declare class MCPTestRunner { private suites; private results; /** * Add test suite */ addSuite(suite: TestSuite): void; /** * Run all test suites */ runAll(options?: { categories?: string[]; priorities?: string[]; parallel?: boolean; verbose?: boolean; }): Promise; /** * Run specific test suite */ private runSuite; /** * Run individual test case */ private runTest; /** * Execute test with timeout and retries */ private executeWithTimeout; /** * Calculate test coverage */ private calculateCoverage; /** * Print test summary */ private printSummary; /** * Export results to file */ exportResults(format?: 'json' | 'xml' | 'html'): string; /** * Convert results to XML (JUnit format) */ private toXML; /** * Convert results to HTML report */ private toHTML; /** * Get test results */ getResults(): TestRunReport | null; } /** * Example usage and demo test suites */ export declare function createDemoTestSuites(): TestSuite[]; export default MCPTestRunner; //# sourceMappingURL=mcp-test-runner.d.ts.map