chore(node-sdk): audit test-support and test
test-support/harness.mjs owns process, server, JSON, fixture, and plugin-runner helpers; provider helper files keep their APIs as thin wrappers. Guard fixtures write 0600 files and the CLI security test isolates XDG_CONFIG_HOME, so the suite passes on Linux. Claude-Session: https://claude.ai/code/session_01Agoc9bRVE9KL7mmWtey9Vq
This commit is contained in:
1 parent
25bfa39fcf
commit
90bea63eea
19 files changed
+785
-2120
No files matched your search
@@ -18,6 +18,7 @@ async function runCli(args, homeDir) {
|
||||
...process.env,
|
||||
HOME: homeDir,
|
||||
USERPROFILE: homeDir,
|
||||
XDG_CONFIG_HOME: path.join(homeDir, '.config'),
|
||||
},
|
||||
stdio: ['ignore', 'pipe', 'pipe'],
|
||||
});
|
||||
|
||||
@@ -26,6 +26,7 @@ async function createFixture(status) {
|
||||
await writeFile(
|
||||
path.join(agentDir, 'config.json'),
|
||||
JSON.stringify({ agent_id: AGENT_ID, base_url: `http://127.0.0.1:${address.port}` }),
|
||||
{ mode: 0o600 },
|
||||
);
|
||||
|
||||
const scriptPath = path.join(homeDir, 'guard.cjs');
|
||||
@@ -91,6 +92,7 @@ test('cached frozen status keeps the blocking exit code', async () => {
|
||||
await writeFile(
|
||||
path.join(fixture.homeDir, '.elydora', AGENT_ID, 'status-cache.json'),
|
||||
JSON.stringify({ status: 'frozen', cached_at: Date.now() }),
|
||||
{ mode: 0o600 },
|
||||
);
|
||||
|
||||
const result = await runGuard(fixture.scriptPath, fixture.homeDir);
|
||||
|
||||
@@ -60,7 +60,7 @@ async function installedHandlers(fixture) {
|
||||
}
|
||||
|
||||
test('Letta guard accepts active agents with native exit semantics', async () => {
|
||||
const api = await startApiServer('active');
|
||||
const api = await startApiServer({ status: 'active' });
|
||||
const fixture = await createFixture({ baseUrl: api.baseUrl });
|
||||
try {
|
||||
assert.equal((await fixture.install()).code, 0);
|
||||
@@ -82,7 +82,7 @@ test('Letta guard accepts active agents with native exit semantics', async () =>
|
||||
test('Letta guard propagates frozen and revoked states through exit code 2', async (t) => {
|
||||
for (const status of ['frozen', 'revoked']) {
|
||||
await t.test(status, async () => {
|
||||
const api = await startApiServer(status);
|
||||
const api = await startApiServer({ status });
|
||||
const fixture = await createFixture({ baseUrl: api.baseUrl });
|
||||
try {
|
||||
assert.equal((await fixture.install()).code, 0);
|
||||
|
||||
Reference in new issue
Block a user