Files
Shadowbroker/frontend/src/__tests__/desktop/desktopRuntimeShimEnforcement.test.ts
T
anoracleofra-code 668ce16dc7 v0.9.6: InfoNet hashchain, Wormhole gate encryption, mesh reputation, 16 community contributors
Gate messages now propagate via the Infonet hashchain as encrypted blobs — every node syncs them
through normal chain sync while only Gate members with MLS keys can decrypt. Added mesh reputation
system, peer push workers, voluntary Wormhole opt-in for node participation, fork recovery,
killwormhole scripts, obfuscated terminology, and hardened the self-updater to protect encryption
keys and chain state during updates.

New features: Shodan search, train tracking, Sentinel Hub imagery, 8 new intelligence layers,
CCTV expansion to 11,000+ cameras across 6 countries, Mesh Terminal CLI, prediction markets,
desktop-shell scaffold, and comprehensive mesh test suite (215 frontend + backend tests passing).

Community contributors: @wa1id, @AlborzNazari, @adust09, @Xpirix, @imqdcr, @csysp, @suranyami,
@chr0n1x, @johan-martensson, @singularfailure, @smithbh, @OrfeoTerkuci, @deuza, @tm-const,
@Elhard1, @ttulttul
2026-03-26 05:58:04 -06:00

61 lines
1.8 KiB
TypeScript

import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { createHttpBackedDesktopRuntime } from '@/lib/desktopRuntimeShim';
describe('desktopRuntimeShim enforcement guard', () => {
const fetchMock = vi.fn();
const warnMock = vi.spyOn(console, 'warn').mockImplementation(() => {});
beforeEach(() => {
fetchMock.mockReset();
fetchMock.mockResolvedValue(
new Response(JSON.stringify({ ok: true }), {
status: 200,
headers: { 'Content-Type': 'application/json' },
}),
);
vi.stubGlobal('fetch', fetchMock);
});
afterEach(() => {
vi.restoreAllMocks();
});
it('refuses strictly enforced commands in the HTTP-backed shim', async () => {
const runtime = createHttpBackedDesktopRuntime();
await expect(
runtime.invokeLocalControl?.(
'wormhole.gate.key.rotate',
{ gate_id: 'infonet', reason: 'operator_reset' },
{
capability: 'wormhole_gate_key',
sessionProfileHint: 'gate_operator',
enforceProfileHint: true,
},
),
).rejects.toThrow('desktop_runtime_shim_enforcement_inactive');
expect(fetchMock).not.toHaveBeenCalled();
expect(warnMock).toHaveBeenCalledWith(
'[desktop-shim] strict native session-profile enforcement is unavailable in the HTTP-backed shim',
expect.objectContaining({
command: 'wormhole.gate.key.rotate',
sessionProfileHint: 'gate_operator',
}),
);
expect(runtime.getNativeControlAuditReport?.(5)).toEqual(
expect.objectContaining({
totalEvents: 1,
totalRecorded: 1,
byOutcome: expect.objectContaining({ shim_refused: 1 }),
lastDenied: expect.objectContaining({
command: 'wormhole.gate.key.rotate',
targetRef: 'infonet',
outcome: 'shim_refused',
}),
}),
);
});
});