@craftapit/tester
Version:
A focused, LLM-powered testing framework for natural language test scenarios
39 lines (38 loc) • 1.14 kB
TypeScript
import { BaseAdapter } from './BaseAdapter';
export type DatabaseType = 'mysql' | 'postgres' | 'sqlite' | 'mongodb';
export interface QueryResult {
rows: any[];
rowCount?: number;
fields?: any[];
}
export declare class DatabaseAdapter extends BaseAdapter {
private dbType;
private connection;
private lastResult;
private mockMode;
private mockResults;
constructor(config: {
type: DatabaseType;
connectionString?: string;
host?: string;
port?: number;
database?: string;
username?: string;
password?: string;
mockMode?: boolean;
mockResults?: Record<string, QueryResult>;
});
initialize(): Promise<void>;
cleanup(): Promise<void>;
executeQuery(query: string, params?: any[]): Promise<QueryResult>;
verifyQueryResult(expectations: {
rowCount?: number;
hasRows?: boolean;
rowsContain?: Record<string, any>[];
customValidation?: (result: QueryResult) => boolean;
}): Promise<{
success: boolean;
reason?: string;
}>;
getLastResult(): QueryResult | null;
}