import { HttpRequest, TestResult, RunOptions } from "../types"; import { AssertionEngine } from "./AssertionEngine"; import { VariableManager } from "./VariableManager"; import { RequestExecutor } from "./RequestExecutor"; import { ResponseProcessor } from "./ResponseProcessor"; import { TestResultCollector } from "./TestResultCollector"; import { ScriptEngine } from "./ScriptEngine"; import { Container } from "../container"; /** * Dependencies required by TestManager */ export interface TestManagerDependencies { variableManager: VariableManager; assertionEngine: AssertionEngine; requestExecutor: RequestExecutor; responseProcessor: ResponseProcessor; resultCollector: TestResultCollector; scriptEngine: ScriptEngine; } export declare class TestManager { private requestExecutor; private responseProcessor; private resultCollector; private variableManager; private assertionEngine; private scriptEngine; private baseDir; /** * Create a TestManager instance * @param httpFilePath Path to the .http file (used for baseDir) * @param deps Optional pre-configured dependencies (for DI) */ constructor(httpFilePath: string, deps?: TestManagerDependencies); /** * Create a TestManager using DI container * @param httpFilePath Path to the .http file * @param container Optional container (uses global if not provided) */ static createWithContainer(httpFilePath: string, container?: Container): TestManager; run(requests: HttpRequest[], options?: RunOptions): Promise; private processRequest; /** * Execute pre-request scripts before making the HTTP request */ private executePreRequestScripts; /** * Execute response handler scripts after receiving HTTP response */ private executeResponseHandlers; /** * Resolve script content from inline or file reference */ private resolveScriptContent; private runTests; private createTestResult; private createDefaultStatusCodeTest; private handleRequestError; }