mirror of
https://github.com/stablyai/orca.git
synced 2026-09-29 08:03:20 +00:00
36 lines
1.6 KiB
JavaScript
36 lines
1.6 KiB
JavaScript
import { readFileSync } from 'node:fs'
|
|
import { resolve } from 'node:path'
|
|
import { parse } from 'yaml'
|
|
import { expect, it } from 'vitest'
|
|
|
|
const workflow = parse(
|
|
readFileSync(resolve(import.meta.dirname, '../../.github/workflows/e2e.yml'), 'utf8')
|
|
)
|
|
|
|
it('gives the localhost SSH journey its same-filesystem server and agent prerequisite', () => {
|
|
const spec = 'tests/e2e/ssh-localhost.spec.ts'
|
|
const job = workflow.jobs['ssh-localhost']
|
|
expect(job.if).toContain("inputs.test_files == ''")
|
|
expect(job.if).toContain(spec)
|
|
expect(job['runs-on']).toBe('ubuntu-latest')
|
|
expect(job.needs).toEqual(['build', 'prepare-native-cache'])
|
|
const setup = job.steps.find((step) => step.name === 'Start isolated localhost SSH server')
|
|
expect(setup.run).toContain('ListenAddress 127.0.0.1')
|
|
expect(setup.run).toContain('PasswordAuthentication no')
|
|
expect(setup.run).toContain('UsePAM yes')
|
|
expect(setup.run).toContain('mkdir -p "$HOME/.pi/agent"')
|
|
for (const key of ['ORCA_E2E_SSH_PORT', 'ORCA_E2E_SSH_USER', 'ORCA_E2E_SSH_IDENTITY_FILE']) {
|
|
expect(setup.run).toContain(key)
|
|
}
|
|
const run = job.steps.find((step) => step.name === 'Run localhost SSH terminal and hook journey')
|
|
expect(run.env.ORCA_E2E_SSH_LOCALHOST).toBe('1')
|
|
expect(run.env.ORCA_FEATURE_REMOTE_AGENT_HOOKS).toBe('1')
|
|
expect(run.run).toContain(spec)
|
|
expect(run.run).toContain('--project=electron-headless')
|
|
expect(run.run).not.toContain('--retries')
|
|
expect(run['continue-on-error']).toBeUndefined()
|
|
expect(
|
|
workflow.jobs['changed-e2e'].steps.find((step) => step.name === 'Run changed E2E specs').run
|
|
).toContain(`. != "${spec}"`)
|
|
})
|