Newer
Older
TelosDB / test / setup.js
@楽曲作りまくりおじさん 楽曲作りまくりおじさん 12 hours ago 1 KB build: improve Windows resource compile logging and error messages
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;
}