mirror of
https://github.com/stablyai/orca.git
synced 2026-10-30 16:47:34 +00:00
* test: exercise fresh orchestration output and identity fixtures * test: check brief task values at the current output boundary * test: observe worker CLI receipts through actual output * test: reach sender lookup and print real worker wait states * test: verify retry deadlines and headless recovery admission * test: audit ACP lifecycle and recorded response boundaries * test: exercise mobile and CI admission contracts * test: check cache producers and exact capped output * test: reconcile upstream audit coverage and cache admission * docs: align integrated audit record hashes --------- Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
43 lines
2.1 KiB
JavaScript
43 lines
2.1 KiB
JavaScript
import { readFileSync } from 'node:fs'
|
|
import { expect, it } from 'vitest'
|
|
import { parse } from 'yaml'
|
|
import { classifyNodeServerChanges } from './node-server-change-scope.mjs'
|
|
import { nodeServerTestPaths } from './node-server-test-paths.mjs'
|
|
|
|
it.each([
|
|
'src/main/orcad/orcad-packaged-structured-chat.integration.test.ts',
|
|
'src/main/runtime/new-launch-path.ts',
|
|
'src/main/claude/__fixtures__/claude-agent-sdk-scripted-cli.mjs',
|
|
'config/scripts/orcad-entry-build.mjs',
|
|
'config/scripts/future-orcad-package.mjs'
|
|
])('runs the packaged structured chat when its inputs change: %s', async (file) => {
|
|
expect((await classifyNodeServerChanges([file], async () => new Set())).shouldRun).toBe(true)
|
|
})
|
|
|
|
it('configures Linux packaged-chat verification after building the desktop template', () => {
|
|
const workflow = parse(readFileSync('.github/workflows/node-server-tests.yml', 'utf8'))
|
|
const steps = workflow.jobs.persistence.steps
|
|
const chat = steps.find((step) =>
|
|
step.run?.includes('orcad-packaged-structured-chat.integration.test.ts')
|
|
)
|
|
expect(chat.if).toBe("runner.os == 'Linux'")
|
|
expect(chat.run).toBe(
|
|
'pnpm test:node-server --artifact src/main/orcad/orcad-packaged-structured-chat.integration.test.ts --maxWorkers=2'
|
|
)
|
|
const template = steps.find((step) => step.run?.includes('build-orcad-template.mjs --targets'))
|
|
expect(template.if).toBe("runner.os == 'Linux'")
|
|
expect(template.run).toBe(
|
|
"node config/scripts/build-orcad-template.mjs --targets linux-${{ runner.arch == 'ARM64' && 'arm64' || 'x64' }}-glibc"
|
|
)
|
|
expect(steps.indexOf(template)).toBeGreaterThan(
|
|
steps.findIndex((step) => step.run === 'pnpm build:orcad')
|
|
)
|
|
expect(steps.indexOf(chat)).toBeGreaterThan(steps.indexOf(template))
|
|
expect(template['continue-on-error']).toBeUndefined()
|
|
expect(chat['continue-on-error']).toBeUndefined()
|
|
// Default --artifact runs have no template, so a required-input failure would follow.
|
|
expect(nodeServerTestPaths({ artifact: true, crossRuntime: true })).not.toContain(
|
|
'src/main/orcad/orcad-packaged-structured-chat.integration.test.ts'
|
|
)
|
|
})
|