From bffc098d09ccdf47b0b75deadb3ec47f8d80e448 Mon Sep 17 00:00:00 2001 From: ethernet Date: Wed, 8 Jul 2026 10:18:06 -0400 Subject: [PATCH] test(desktop): fix relative import in oauth-net-request.test.ts, drop dead source-regex test oauth-session-request.test.ts regexed main.ts source text (extracting the fetchJsonViaOauthSession function body and matching regexes against it) to check Electron net.request doesn't set the forbidden Content-Length header and does call request.write(body). That behavior is already covered for real by oauth-net-request.test.ts, which imports the actual serializeJsonBody/setJsonRequestHeaders helpers from oauth-net-request.ts and asserts on a mock request object's setHeader calls -- it only needed its relative import corrected to include the .ts extension (Node's ESM loader doesn't resolve extensionless relative specifiers). Removed the now-fully-superseded oauth-session-request.test.ts and its dangling package.json wiring. --- .../electron/oauth-session-request.test.ts | 33 ------------------- apps/desktop/package.json | 2 +- 2 files changed, 1 insertion(+), 34 deletions(-) delete mode 100644 apps/desktop/electron/oauth-session-request.test.ts diff --git a/apps/desktop/electron/oauth-session-request.test.ts b/apps/desktop/electron/oauth-session-request.test.ts deleted file mode 100644 index 3b6f352d0da0..000000000000 --- a/apps/desktop/electron/oauth-session-request.test.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Regression coverage for the OAuth-session Electron net.request path. - * - * Electron net rejects manual Content-Length/Host headers with - * net::ERR_INVALID_ARGUMENT. Node HTTP helpers may still set Content-Length; - * this guard is scoped to fetchJsonViaOauthSession only. - */ - -import assert from 'node:assert/strict' -import fs from 'node:fs' -import path from 'node:path' -import test from 'node:test' -import { fileURLToPath } from 'node:url' - -const __dirname = path.dirname(fileURLToPath(import.meta.url)) -const source = fs.readFileSync(path.join(__dirname, 'main.ts'), 'utf8') - -function extractFetchJsonViaOauthSession() { - const start = source.indexOf('function fetchJsonViaOauthSession') - const end = source.indexOf('// Mint a single-use WS ticket', start) - assert.notEqual(start, -1, 'fetchJsonViaOauthSession should exist') - assert.notEqual(end, -1, 'fetchJsonViaOauthSession boundary should exist') - - return source.slice(start, end) -} - -test('OAuth Electron net request does not set forbidden Content-Length header', () => { - const fn = extractFetchJsonViaOauthSession() - - assert.match(fn, /electronNet\.request/) - assert.doesNotMatch(fn, /setHeader\(['"]Content-Length['"]/) - assert.match(fn, /request\.write\(body\)/) -}) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 9a67c7fdd03f..718c1b827a80 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -38,7 +38,7 @@ "test:desktop:nsis": "node scripts/test-desktop.mjs nsis", "test:desktop:existing": "node scripts/test-desktop.mjs existing", "test:desktop:fresh": "node scripts/test-desktop.mjs fresh", - "test:desktop:platforms": "node --test electron/bootstrap-platform.test.ts electron/hardening.test.ts electron/backend-env.test.ts electron/backend-probes.test.ts electron/backend-ready.test.ts electron/bootstrap-runner.test.ts electron/connection-config.test.ts electron/dashboard-token.test.ts electron/gateway-ws-probe.test.ts electron/oauth-net-request.test.ts electron/desktop-uninstall.test.ts electron/session-windows.test.ts electron/profile-delete-routing.test.ts electron/link-title-window.test.ts electron/workspace-cwd.test.ts electron/fs-read-dir.test.ts electron/git-root.test.ts electron/git-worktree-ops.test.ts electron/windows-child-options.test.ts electron/update-remote.test.ts electron/update-count.test.ts electron/update-rebuild.test.ts electron/update-marker.test.ts electron/update-relaunch.test.ts electron/windows-user-env.test.ts electron/wsl-clipboard-image.test.ts electron/titlebar-overlay-width.test.ts electron/window-state.test.ts electron/zoom.test.ts electron/windows-hermes-path.test.ts electron/oauth-session-request.test.ts", + "test:desktop:platforms": "node --test electron/bootstrap-platform.test.ts electron/hardening.test.ts electron/backend-env.test.ts electron/backend-probes.test.ts electron/backend-ready.test.ts electron/bootstrap-runner.test.ts electron/connection-config.test.ts electron/dashboard-token.test.ts electron/gateway-ws-probe.test.ts electron/oauth-net-request.test.ts electron/desktop-uninstall.test.ts electron/session-windows.test.ts electron/profile-delete-routing.test.ts electron/link-title-window.test.ts electron/workspace-cwd.test.ts electron/fs-read-dir.test.ts electron/git-root.test.ts electron/git-worktree-ops.test.ts electron/windows-child-options.test.ts electron/update-remote.test.ts electron/update-count.test.ts electron/update-rebuild.test.ts electron/update-marker.test.ts electron/update-relaunch.test.ts electron/windows-user-env.test.ts electron/wsl-clipboard-image.test.ts electron/titlebar-overlay-width.test.ts electron/window-state.test.ts electron/zoom.test.ts electron/windows-hermes-path.test.ts", "typecheck": "tsc -p . --noEmit && tsc -p tsconfig.electron.json --noEmit", "lint": "eslint src/ electron/", "lint:fix": "eslint src/ electron/ --fix",