

























@@ -47,6 +47,15 @@ function createAuditContext(params: {
4747};
4848}
494950+function requireFirstMockArg<T>(mock: { mock: { calls: T[][] } }, label: string): T {
51+const call = mock.mock.calls.at(0);
52+if (!call) {
53+throw new Error(`expected ${label} call`);
54+}
55+const [arg] = call;
56+return arg;
57+}
58+5059describe("security audit read-only plugin scope", () => {
5160beforeEach(() => {
5261applyPluginAutoEnableMock.mockReset();
@@ -88,24 +97,25 @@ describe("security audit read-only plugin scope", () => {
8897}),
8998);
909991-const resolveConfiguredChannelPluginIdsParams = resolveConfiguredChannelPluginIdsMock.mock
92-.calls[0]?.[0] as
93-| {
94-config?: unknown;
95-activationSourceConfig?: unknown;
96-env?: unknown;
97-}
98-| undefined;
99-expect(resolveConfiguredChannelPluginIdsParams?.config).toBe(sourceConfig);
100-expect(resolveConfiguredChannelPluginIdsParams?.activationSourceConfig).toBe(sourceConfig);
101-expect(resolveConfiguredChannelPluginIdsParams?.env).toStrictEqual({});
102-103-const loadSnapshotParams = loadPluginMetadataRegistrySnapshotMock.mock.calls[0]?.[0] as
104-| {
105-onlyPluginIds?: string[];
106-}
107-| undefined;
108-expect(loadSnapshotParams?.onlyPluginIds).toStrictEqual([
100+const resolveConfiguredChannelPluginIdsParams = requireFirstMockArg(
101+resolveConfiguredChannelPluginIdsMock,
102+"configured channel plugin ids",
103+) as {
104+config?: unknown;
105+activationSourceConfig?: unknown;
106+env?: unknown;
107+};
108+expect(resolveConfiguredChannelPluginIdsParams.config).toBe(sourceConfig);
109+expect(resolveConfiguredChannelPluginIdsParams.activationSourceConfig).toBe(sourceConfig);
110+expect(resolveConfiguredChannelPluginIdsParams.env).toStrictEqual({});
111+112+const loadSnapshotParams = requireFirstMockArg(
113+loadPluginMetadataRegistrySnapshotMock,
114+"plugin metadata registry snapshot",
115+) as {
116+onlyPluginIds?: string[];
117+};
118+expect(loadSnapshotParams.onlyPluginIds).toStrictEqual([
109119"external-channel-plugin",
110120"audit-plugin",
111121]);
@@ -134,12 +144,13 @@ describe("security audit read-only plugin scope", () => {
134144}),
135145);
136146137-const loadSnapshotParams = loadPluginMetadataRegistrySnapshotMock.mock.calls[0]?.[0] as
138-| {
139-onlyPluginIds?: string[];
140-}
141-| undefined;
142-expect(loadSnapshotParams?.onlyPluginIds).toStrictEqual(["audit-plugin"]);
147+const loadSnapshotParams = requireFirstMockArg(
148+loadPluginMetadataRegistrySnapshotMock,
149+"plugin metadata registry snapshot",
150+) as {
151+onlyPluginIds?: string[];
152+};
153+expect(loadSnapshotParams.onlyPluginIds).toStrictEqual(["audit-plugin"]);
143154});
144155145156it("skips plugin runtime and collector discovery when collector loading is disabled", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。