mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-06 11:36:58 +03:00
reset postgres and redis between test runs
This commit is contained in:
@@ -10,6 +10,7 @@ import { ImportMock } from "ts-mock-imports";
|
||||
import * as rateLimitMiddlewareModule from "../src/middleware/requestRateLimit";
|
||||
import rateLimit from "express-rate-limit";
|
||||
import redis from "../src/utils/redis";
|
||||
import { resetRedis, resetPostgres } from "./utils/reset";
|
||||
|
||||
async function init() {
|
||||
ImportMock.mockFunction(rateLimitMiddlewareModule, "rateLimitMiddleware", rateLimit({
|
||||
@@ -19,6 +20,8 @@ async function init() {
|
||||
// delete old test database
|
||||
if (fs.existsSync(config.db)) fs.unlinkSync(config.db);
|
||||
if (fs.existsSync(config.privateDB)) fs.unlinkSync(config.privateDB);
|
||||
await resetRedis();
|
||||
await resetPostgres();
|
||||
|
||||
await initDb();
|
||||
|
||||
@@ -59,6 +62,7 @@ async function init() {
|
||||
server.close();
|
||||
redis.quit();
|
||||
process.exitCode = failures ? 1 : 0; // exit with non-zero status if there were failures
|
||||
process.exit();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
22
test/utils/reset.ts
Normal file
22
test/utils/reset.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
// drop postgres tables
|
||||
// reset redis cache
|
||||
import { config } from "../../src/config";
|
||||
import { createClient } from "redis";
|
||||
import { Pool } from "pg";
|
||||
import { Logger } from "../../src/utils/logger";
|
||||
|
||||
export async function resetRedis() {
|
||||
if (config.redis) {
|
||||
const client = createClient(config.redis);
|
||||
await client.connect();
|
||||
await client.flushAll();
|
||||
}
|
||||
}
|
||||
export async function resetPostgres() {
|
||||
if (process.env.TEST_POSTGRES && config.postgres) {
|
||||
const pool = new Pool({ ...config.postgres });
|
||||
await pool.query(`DROP DATABASE IF EXISTS "sponsorTimes"`);
|
||||
await pool.query(`DROP DATABASE IF EXISTS "privateDB"`);
|
||||
await pool.end().catch(err => Logger.error(`closing db (postgres): ${err}`));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user