27 lines
971 B
TypeScript
27 lines
971 B
TypeScript
import { test as base, expect } from "@playwright/test";
|
|
import Database from "better-sqlite3";
|
|
|
|
export const test = base.extend<{ isolatedData: void }>({
|
|
isolatedData: [
|
|
async ({}, use) => {
|
|
const file = process.env.HY2_E2E_DATABASE;
|
|
if (!file || !/^\/tmp\/hy2-panel-ui-test-\d+\.db$/.test(file))
|
|
throw new Error("Refusing to reset a non-test database");
|
|
const db = new Database(file, { fileMustExist: true });
|
|
db.pragma("foreign_keys = ON");
|
|
db.transaction(() => {
|
|
db.exec(
|
|
"DELETE FROM relay_hosts; DELETE FROM node_installations; DELETE FROM managed_certificates; DELETE FROM hy2_nodes; DELETE FROM hy2_users WHERE is_admin = 0;",
|
|
);
|
|
db.prepare(
|
|
"UPDATE app_settings SET value = '[]' WHERE key IN ('main_proxy_group_member_slugs_json','proxy_groups_json')",
|
|
).run();
|
|
})();
|
|
db.close();
|
|
await use();
|
|
},
|
|
{ auto: true },
|
|
],
|
|
});
|
|
export { expect };
|