feat: 支持证书托管和节点自动安装

This commit is contained in:
2026-09-29 13:06:56 +08:00
parent ab7d1c937a
commit 586c2399d1
20 changed files with 1600 additions and 20 deletions
+20 -12
View File
@@ -2,17 +2,25 @@ 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 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 }],
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 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 };