Files
Trilium/apps/server/spec/setup.ts

40 lines
1.6 KiB
TypeScript
Raw Normal View History

import { beforeAll } from "vitest";
2026-03-27 00:06:22 +02:00
import { readFileSync } from "fs";
import { join } from "path";
2026-03-27 00:06:22 +02:00
import { initializeCore } from "@triliumnext/core";
2026-03-27 23:52:19 +02:00
import { serverZipExportProviderFactory } from "../src/services/export/zip/factory.js";
2026-03-27 00:06:22 +02:00
import ClsHookedExecutionContext from "../src/cls_provider.js";
import NodejsCryptoProvider from "../src/crypto_provider.js";
2026-03-27 18:11:59 +02:00
import NodejsZipProvider from "../src/zip_provider.js";
2026-03-27 00:06:22 +02:00
import ServerPlatformProvider from "../src/platform_provider.js";
import BetterSqlite3Provider from "../src/sql_provider.js";
import { initializeTranslations } from "../src/services/i18n.js";
2025-06-02 16:25:19 +03:00
// Initialize environment variables.
process.env.TRILIUM_DATA_DIR = join(__dirname, "db");
process.env.TRILIUM_RESOURCE_DIR = join(__dirname, "../src");
process.env.TRILIUM_INTEGRATION_TEST = "memory";
2025-06-02 18:08:21 +03:00
process.env.TRILIUM_ENV = "dev";
process.env.TRILIUM_PUBLIC_SERVER = "http://localhost:4200";
2025-06-02 16:25:19 +03:00
beforeAll(async () => {
2026-03-27 00:06:22 +02:00
const dbProvider = new BetterSqlite3Provider();
dbProvider.loadFromMemory();
2026-03-27 00:06:22 +02:00
await initializeCore({
dbConfig: {
provider: dbProvider,
isReadOnly: false,
onTransactionCommit() {},
onTransactionRollback() {}
},
2026-03-27 00:06:22 +02:00
crypto: new NodejsCryptoProvider(),
2026-03-27 18:11:59 +02:00
zip: new NodejsZipProvider(),
2026-03-27 23:52:19 +02:00
zipExportProviderFactory: serverZipExportProviderFactory,
2026-03-27 00:06:22 +02:00
executionContext: new ClsHookedExecutionContext(),
schema: readFileSync(require.resolve("@triliumnext/core/src/assets/schema.sql"), "utf-8"),
platform: new ServerPlatformProvider(),
translations: initializeTranslations
});
});