feat: Add testing framework and initial test cases for various tools and database operations

This commit is contained in:
ethan.chen
2026-01-07 10:05:04 +08:00
parent 372b52b214
commit 47ecc40186
23 changed files with 1781 additions and 40 deletions

View File

@@ -0,0 +1,29 @@
/**
* Database test helper - creates isolated database instances for testing
*/
import { database } from "../../src/storage/database.js";
import { join } from "path";
import { mkdirSync } from "fs";
import type { TestContext } from "./test-utils.js";
/**
* Setup test database with isolated data directory
*/
export function setupTestDatabase(testContext: TestContext): () => void {
const testDataDir = join(testContext.tempDir, "data");
mkdirSync(testDataDir, { recursive: true });
// Set environment variable for test data directory
const originalDataDir = process.env.MCP_TEST_DATA_DIR;
process.env.MCP_TEST_DATA_DIR = testDataDir;
// Return cleanup function
return () => {
if (originalDataDir) {
process.env.MCP_TEST_DATA_DIR = originalDataDir;
} else {
delete process.env.MCP_TEST_DATA_DIR;
}
};
}