Skip to content
Snippets Groups Projects
Commit 48e28789 authored by Marcus Schiesser's avatar Marcus Schiesser
Browse files

test: use unique tmp dir for storage tests and wait to clean VectorStoreIndex files

parent f1184008
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,9 @@ import {
type StorageContext,
} from "llamaindex/storage/StorageContext";
import { existsSync, rmSync } from "node:fs";
import { mkdtemp } from "node:fs/promises";
import { tmpdir } from "node:os";
import { join } from "node:path";
import {
afterAll,
beforeAll,
......@@ -12,7 +15,7 @@ import {
vi,
vitest,
} from "vitest";
const testDir = await mkdtemp(join(tmpdir(), "test-"));
vitest.spyOn(console, "error");
describe("StorageContext", () => {
......@@ -20,18 +23,18 @@ describe("StorageContext", () => {
beforeAll(async () => {
storageContext = await storageContextFromDefaults({
persistDir: "/tmp/test_dir",
persistDir: testDir,
});
});
test("initializes", async () => {
vi.mocked(console.error).mockImplementation(() => {}); // silence console.error
expect(existsSync("/tmp/test_dir")).toBe(true);
expect(existsSync(testDir)).toBe(true);
expect(storageContext).toBeDefined();
});
afterAll(() => {
rmSync("/tmp/test_dir", { recursive: true });
rmSync(testDir, { recursive: true });
});
});
......@@ -7,8 +7,13 @@ import {
type StorageContext,
} from "llamaindex";
import { rmSync } from "node:fs";
import { mkdtemp } from "node:fs/promises";
import { tmpdir } from "node:os";
import { join } from "node:path";
import { afterAll, beforeAll, describe, expect, it, vi } from "vitest";
const testDir = await mkdtemp(join(tmpdir(), "test-"));
vi.mock("llamaindex/llm/open_ai", () => {
return {
getOpenAISession: vi.fn().mockImplementation(() => null),
......@@ -24,7 +29,7 @@ describe("SummaryIndex", () => {
beforeAll(async () => {
serviceContext = mockServiceContext();
storageContext = await storageContextFromDefaults({
persistDir: "/tmp/test_dir",
persistDir: testDir,
});
});
......@@ -43,6 +48,6 @@ describe("SummaryIndex", () => {
});
afterAll(() => {
rmSync("/tmp/test_dir", { recursive: true });
rmSync(testDir, { recursive: true });
});
});
......@@ -4,8 +4,13 @@ import {
VectorStoreIndex,
storageContextFromDefaults,
} from "llamaindex";
import { beforeAll, describe, expect, test, vi } from "vitest";
import { mockServiceContext } from "../utility/mockServiceContext.js";
import { rmSync } from "node:fs";
import { mkdtemp } from "node:fs/promises";
import { tmpdir } from "node:os";
import { join } from "node:path";
import { afterAll, beforeAll, describe, expect, test, vi } from "vitest";
const testDir = await mkdtemp(join(tmpdir(), "test-"));
vi.mock("llamaindex/llm/open_ai", () => {
return {
......@@ -13,6 +18,8 @@ vi.mock("llamaindex/llm/open_ai", () => {
};
});
import { mockServiceContext } from "../utility/mockServiceContext.js";
describe.sequential("VectorStoreIndex", () => {
let serviceContext: ServiceContext;
let storageContext: StorageContext;
......@@ -24,7 +31,7 @@ describe.sequential("VectorStoreIndex", () => {
beforeAll(async () => {
serviceContext = mockServiceContext();
storageContext = await storageContextFromDefaults({
persistDir: "/tmp/test_dir",
persistDir: testDir,
});
testStrategy = async (
// strategy?: DocStoreStrategy,
......@@ -55,7 +62,9 @@ describe.sequential("VectorStoreIndex", () => {
// expect(entries[0]).toBe(entries[1]);
// });
// afterAll(() => {
// rmSync("/tmp/test_dir", { recursive: true });
// });
afterAll(async () => {
// TODO: VectorStoreIndex.fromDocuments running twice is causing a cleanup issue
await new Promise((resolve) => setTimeout(resolve, 100));
rmSync(testDir, { recursive: true });
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment