Files
pi-commandcode-provider/tests/test-pi-authenticated.mjs
T

75 lines
2.3 KiB
JavaScript

import assert from "node:assert/strict"
import { spawnSync } from "node:child_process"
import { mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs"
import { tmpdir } from "node:os"
import { delimiter, dirname, join, resolve } from "node:path"
import { fileURLToPath } from "node:url"
import { describe, it } from "node:test"
const repoRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..")
const launcher = join(repoRoot, "scripts", "pi-authenticated.mjs")
function runLauncher() {
const fakeBin = mkdtempSync(join(tmpdir(), "pi-commandcode-fake-bin-"))
const logPath = join(fakeBin, "call.json")
const fakePi = join(fakeBin, "pi")
writeFileSync(
fakePi,
`#!/bin/sh
node - "$@" <<'NODE'
const { writeFileSync } = require("node:fs")
writeFileSync(process.env.FAKE_PI_LOG, JSON.stringify({
args: process.argv.slice(2),
agentDir: process.env.PI_CODING_AGENT_DIR ?? null,
apiKey: process.env.COMMAND_CODE_API_KEY ?? process.env.COMMANDCODE_API_KEY ?? null,
skipVersionCheck: process.env.PI_SKIP_VERSION_CHECK,
}))
NODE
`,
{ mode: 0o700 },
)
try {
const result = spawnSync(process.execPath, [launcher, "--thinking", "high"], {
cwd: repoRoot,
env: {
...process.env,
PATH: `${fakeBin}${delimiter}${process.env.PATH ?? ""}`,
FAKE_PI_LOG: logPath,
PI_CODING_AGENT_DIR: "/existing/pi-agent",
COMMAND_CODE_API_KEY: "official-existing-key",
COMMANDCODE_API_KEY: "legacy-existing-key",
},
encoding: "utf8",
})
return { result, call: JSON.parse(readFileSync(logPath, "utf8")) }
} finally {
rmSync(fakeBin, { recursive: true, force: true })
}
}
describe("authenticated pi launcher", () => {
it("loads only the checkout extension and leaves auth resolution to existing files", () => {
const { result, call } = runLauncher()
assert.equal(result.status, 0)
assert.deepEqual(call.args, [
"--no-extensions",
"--extension",
join(repoRoot, "index.ts"),
"--provider",
"commandcode",
"--model",
"gpt-5.6-luna",
"--models",
"commandcode/*",
"--thinking",
"high",
])
assert.equal(call.agentDir, "/existing/pi-agent")
assert.equal(call.apiKey, null)
assert.equal(call.skipVersionCheck, "1")
})
})