Files
orca/config/scripts/node-server-test-paths.mjs
T
Brennan Benson c9097ac991 test: run a structured chat against the packaged headless server (#26527)
* fix: preserve module URLs in the headless server bundle

* test: exercise structured chat on the packaged Node server

* test(orcad): run the packaged chat check from the desktop's server template

The chat check loaded the server bundle directly, so a desktop build missing its
server template still passed. Materialize the slot from the built template the way
the desktop does, and replace the fixed streaming pause with a test-owned
acknowledgement so the partial-reply assertion can't race.

* Connect the packaged chat test through a paired connection

Main now sends remote runtime requests over a paired connection rather than a
pairing offer, so the test converts the server's offer once when it is ready.
2026-10-11 17:46:15 -07:00

54 lines
2.4 KiB
JavaScript

/** Mirrors ORCA_REQUIRED_TEST_INPUTS_ENV in src/main/orcad/orcad-node-slot-fixture.ts. */
export const REQUIRED_TEST_INPUTS_ENV = 'ORCA_REQUIRED_TEST_INPUTS'
// Need Bun 1.4.2 and the last Bun orcad slot beside the built Node slot (design D7).
export const CROSS_RUNTIME_TEST_PATHS = [
'src/main/orcad/orcad-cross-runtime-daemon-adoption.integration.test.ts',
'src/main/persistence/profile-state/profile-state-cross-runtime.integration.test.ts'
]
// Need the built desktop server template; CI runs them by path after build-orcad-template.mjs.
export const TEMPLATE_TEST_PATHS = [
'src/main/orcad/orcad-packaged-structured-chat.integration.test.ts'
]
export function nodeServerTestPaths({
artifact = false,
crossRuntime = false,
template = false
} = {}) {
return [
'src/main/persistence/profile-state',
'src/main/persistence/loading-store/profile-state',
'src/main/sqlite',
'src/main/orcad/orcad-entry.test.ts',
'src/main/orcad/orcad-push-startup.test.ts',
// The orcad server's identity and stop path, which Windows SSH hosts rely on (W2).
'src/main/orcad/orcad-instance-lock.test.ts',
'src/main/orcad/orcad-process-start-time.test.ts',
'src/main/orcad/orcad-stop-request-listener.test.ts',
'src/main/orcad/orcad-managed-stop.test.ts',
'src/main/orcad/orcad-managed-stop-cancellation.test.ts',
// The directory, not a prefix: its siblings are POSIX-host unit tests pr.yml already runs.
'src/main/daemon/pty-subprocess/',
'src/main/daemon/pty-subprocess-spawn-file-foreground.test.ts',
'src/main/daemon/pty-subprocess-io-failure-native.test.ts',
...(artifact
? [
'tests/e2e/daemon-running-work-probe.unit.test.ts',
'src/shared/pty-running-work-probe.test.ts',
'src/main/orcad/orcad-packaged-node-pty.integration.test.ts',
'src/main/providers/agent-foreground-process-git-bash.win32.test.ts',
'src/main/orcad/orcad-node-launcher.integration.test.ts',
'src/main/orcad/orcad-launcher-isolation.integration.test.ts',
'src/main/orcad/orcad-stop-request-shutdown.integration.test.ts',
'src/main/orcad/orcad-windows-conpty-breakaway.integration.test.ts',
'src/main/orcad/orcad-serve-parity.integration.test.ts',
'config/scripts/zip-extractor-command.test.mjs'
]
: []),
...(crossRuntime ? CROSS_RUNTIME_TEST_PATHS : []),
...(template ? TEMPLATE_TEST_PATHS : [])
]
}