feat(监控): 完善系统监控、登录状态与访问审计能力
Client Quality Gates / Shared client and Web (push) Has been cancelled
Client Quality Gates / macOS Desktop (push) Has been cancelled

This commit is contained in:
Cheng Zhou
2026-07-10 17:11:24 +08:00
parent 400c9be3a7
commit f11a5c84d9
82 changed files with 10283 additions and 1781 deletions
+18 -1
View File
@@ -1,7 +1,7 @@
import { afterEach, describe, expect, it, vi } from "vitest";
import packageInfo from "../../package.json";
import { clientRuntime } from "./clientRuntime";
import { getAppMetadata } from "./appMetadata";
import { getAppMetadata, getAppMetadataHeaders } from "./appMetadata";
afterEach(() => {
Reflect.deleteProperty(window, "__TAURI_INTERNALS__");
@@ -15,6 +15,7 @@ describe("client runtime", () => {
commit: "local",
channel: "local",
clientType: "web",
clientSource: "ctms-web",
platform: "web",
});
expect(clientRuntime.capabilities()).toEqual({
@@ -30,10 +31,26 @@ describe("client runtime", () => {
Object.defineProperty(window, "__TAURI_INTERNALS__", { value: {}, configurable: true });
expect(getAppMetadata().clientType).toBe("desktop");
expect(getAppMetadata().clientSource).toBe("ctms-desktop");
expect(clientRuntime.capabilities().serverConfiguration).toBe(true);
expect(clientRuntime.capabilities().secureSessionStorage).toBe(false);
});
it("injects explicit CTMS client source headers for audit classification", () => {
expect(getAppMetadataHeaders()).toMatchObject({
"X-CTMS-Client-Type": "web",
"X-CTMS-Client-Source": "ctms-web",
"X-CTMS-Client-Version": packageInfo.version,
"X-CTMS-Client-Platform": "web",
});
Object.defineProperty(window, "__TAURI_INTERNALS__", { value: {}, configurable: true });
expect(getAppMetadataHeaders()).toMatchObject({
"X-CTMS-Client-Type": "desktop",
"X-CTMS-Client-Source": "ctms-desktop",
});
});
it("accepts release build metadata only from the expected CI values", () => {
vi.stubEnv("VITE_BUILD_CHANNEL", "release");
vi.stubEnv("VITE_BUILD_COMMIT", "0123456789abcdef0123456789abcdef01234567");