Skip to content

Commit cef8794

Browse files
committed
Better Test Cleanup. Use Dotenv.
1 parent 5eabffb commit cef8794

9 files changed

+97
-26
lines changed

Diff for: bin/cleanup

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
set -e
3+
4+
node test/bin/cleanup.js

Diff for: jest.config.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export default {
77
globalTeardown: "./test/globalTeardown.js",
88
slowTestThreshold: 30,
99
cacheDirectory: "./tmp",
10-
setupFiles: [],
10+
setupFiles: ["<rootDir>/test/env.js"],
1111
setupFilesAfterEnv: [],
1212
slowTestThreshold: 30,
1313
automock: false,

Diff for: package-lock.json

+48-21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+4-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
},
1313
"scripts": {
1414
"setup": "./bin/setup",
15-
"test": "./bin/test"
15+
"test": "./bin/test",
16+
"cleanup": "./bin/cleanup"
1617
},
1718
"author": "Ken COllins",
1819
"license": "MIT",
@@ -21,6 +22,7 @@
2122
"@opensearch-project/opensearch": "^2.7.0",
2223
"axios": "^1.6.8",
2324
"babel-jest": "^29.7.0",
25+
"dotenv": "^16.4.5",
2426
"ejs": "^3.1.10",
2527
"file-type": "^19.0.0",
2628
"jest": "^29.7.0",
@@ -33,6 +35,6 @@
3335
},
3436
"dependencies": {
3537
"eventemitter2": "^6.4.9",
36-
"openai": "^4.52.0"
38+
"openai": "^4.55.0"
3739
}
3840
}

Diff for: test/bin/cleanup.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import {
2+
helperDeleteAllAssistants,
3+
helperDeleteAllVectorStores,
4+
helperDeleteAllFiles,
5+
} from "../../test/helpers.js";
6+
7+
await helperDeleteAllAssistants();
8+
await helperDeleteAllVectorStores();
9+
await helperDeleteAllFiles();

Diff for: test/env.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import dotenv from "dotenv";
2+
import { fileURLToPath } from "url";
3+
import { dirname, resolve } from "path";
4+
const __filename = fileURLToPath(import.meta.url);
5+
const __dirname = dirname(__filename);
6+
dotenv.config({ path: resolve(__dirname, "../.env.local"), override: true });

Diff for: test/globalSetup.js

+2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ process.env.NODE_ENV = "test";
33
import {
44
helperDeleteAllAssistants,
55
helperDeleteAllVectorStores,
6+
helperDeleteAllFiles,
67
} from "./helpers.js";
78

89
export default async function () {
910
await helperDeleteAllAssistants();
1011
await helperDeleteAllVectorStores();
12+
await helperDeleteAllFiles();
1113
}

Diff for: test/globalTeardown.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import {
22
helperDeleteAllAssistants,
33
helperDeleteAllVectorStores,
4+
helperDeleteAllFiles,
45
} from "./helpers.js";
56

67
export default async function () {
78
await helperDeleteAllAssistants();
89
await helperDeleteAllVectorStores();
10+
await helperDeleteAllFiles();
911
}

Diff for: test/helpers.js

+21-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import "./env.js";
12
import fs from "fs";
23
import ejs from "ejs";
34
import url from "url";
@@ -37,7 +38,7 @@ const helperThreadID = async () => {
3738

3839
const helperFindAllAssistants = async () => {
3940
const assistants = await openai.beta.assistants.list({ limit: 100 });
40-
return assistants.data.filter((a) => a.name?.startsWith("Experts.js"));
41+
return assistants.data;
4142
};
4243

4344
const helperDeleteAllAssistants = async () => {
@@ -65,7 +66,7 @@ const helperDeleteAssistant = async (name) => {
6566

6667
const helperFindAllVectorStores = async () => {
6768
const vectorStores = await openai.beta.vectorStores.list({ limit: 100 });
68-
return vectorStores.data.filter((a) => a.name?.startsWith("Experts.js"));
69+
return vectorStores.data;
6970
};
7071

7172
const helperDeleteAllVectorStores = async () => {
@@ -79,6 +80,22 @@ const helperDeleteAllVectorStores = async () => {
7980
}
8081
};
8182

83+
const helperFindAllFiles = async () => {
84+
const files = await openai.files.list({ limit: 100 });
85+
return files.data;
86+
};
87+
88+
const helperDeleteAllFiles = async () => {
89+
const files = await helperFindAllFiles();
90+
for (const file of files) {
91+
try {
92+
await openai.files.del(file.id);
93+
} catch (error) {
94+
console.log(error);
95+
}
96+
}
97+
};
98+
8299
export {
83100
helperName,
84101
helperPath,
@@ -88,4 +105,6 @@ export {
88105
helperDeleteAllAssistants,
89106
helperFindAssistant,
90107
helperDeleteAllVectorStores,
108+
helperFindAllFiles,
109+
helperDeleteAllFiles,
91110
};

0 commit comments

Comments
 (0)