import Database from "bun:sqlite";
import * as fs from "fs";
// テスト用データベースのセットアップ
export function createTestDb(dbName = "test-vector.db") {
// 既存のテストDBを削除
try {
if (fs.existsSync(dbName)) {
fs.unlinkSync(dbName);
}
} catch (err) {
// ロックされているファイルは無視して続行
}
const db = new Database(dbName);
return db;
}
// テスト用データベースのクリーンアップ
export function cleanupTestDb(dbName = "test-vector.db") {
try {
if (fs.existsSync(dbName)) {
fs.unlinkSync(dbName);
}
} catch (err) {
// ファイルがロックされている場合も無視
console.warn(`Failed to clean up ${dbName}: ${err.message}`);
}
}
// テスト用環境変数の設定
export function setTestEnv() {
process.env.VEC_DIM = "768";
process.env.LLAMA_CPP_BASE_URL = "http://127.0.0.1:8080";
process.env.LLAMA_CPP_EMBEDDING_MODEL = "nomic-embed-text";
process.env.LLAMA_CPP_MODEL = "mistral";
}
// テスト用環境変数のクリア
export function clearTestEnv() {
delete process.env.VEC_DIM;
delete process.env.LLAMA_CPP_BASE_URL;
delete process.env.LLAMA_CPP_EMBEDDING_MODEL;
delete process.env.LLAMA_CPP_MODEL;
}