mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-30 16:45:48 +08:00
test: extend insaits monitor subprocess timeout
This commit is contained in:
parent
fc96be4924
commit
468c755abd
@ -11,6 +11,7 @@ const path = require('path');
|
|||||||
const { spawnSync } = require('child_process');
|
const { spawnSync } = require('child_process');
|
||||||
|
|
||||||
const SCRIPT = path.join(__dirname, '..', '..', 'scripts', 'hooks', 'insaits-security-monitor.py');
|
const SCRIPT = path.join(__dirname, '..', '..', 'scripts', 'hooks', 'insaits-security-monitor.py');
|
||||||
|
const MONITOR_TIMEOUT_MS = 30000;
|
||||||
|
|
||||||
function createTempDir() {
|
function createTempDir() {
|
||||||
return fs.mkdtempSync(path.join(os.tmpdir(), 'insaits-monitor-'));
|
return fs.mkdtempSync(path.join(os.tmpdir(), 'insaits-monitor-'));
|
||||||
@ -93,12 +94,16 @@ function runMonitor(options = {}) {
|
|||||||
encoding: 'utf8',
|
encoding: 'utf8',
|
||||||
env,
|
env,
|
||||||
cwd: tempDir,
|
cwd: tempDir,
|
||||||
timeout: 10000,
|
timeout: MONITOR_TIMEOUT_MS,
|
||||||
});
|
});
|
||||||
result.tempDir = tempDir;
|
result.tempDir = tempDir;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function statusError(result) {
|
||||||
|
return result.stderr || result.error?.message || `status ${result.status}`;
|
||||||
|
}
|
||||||
|
|
||||||
function test(name, fn) {
|
function test(name, fn) {
|
||||||
try {
|
try {
|
||||||
fn();
|
fn();
|
||||||
@ -123,7 +128,7 @@ function runTests() {
|
|||||||
env: { FAKE_INSAITS_MODE: 'clean' },
|
env: { FAKE_INSAITS_MODE: 'clean' },
|
||||||
});
|
});
|
||||||
try {
|
try {
|
||||||
assert.strictEqual(result.status, 0, result.stderr);
|
assert.strictEqual(result.status, 0, statusError(result));
|
||||||
assert.strictEqual(result.stdout, '');
|
assert.strictEqual(result.stdout, '');
|
||||||
|
|
||||||
const [audit] = readAudit(result.tempDir);
|
const [audit] = readAudit(result.tempDir);
|
||||||
@ -143,7 +148,7 @@ function runTests() {
|
|||||||
env: { FAKE_INSAITS_MODE: 'critical' },
|
env: { FAKE_INSAITS_MODE: 'critical' },
|
||||||
});
|
});
|
||||||
try {
|
try {
|
||||||
assert.strictEqual(result.status, 2, result.stderr);
|
assert.strictEqual(result.status, 2, statusError(result));
|
||||||
assert.ok(result.stdout.includes('SECRET'));
|
assert.ok(result.stdout.includes('SECRET'));
|
||||||
assert.ok(result.stdout.includes('token-like string detected'));
|
assert.ok(result.stdout.includes('token-like string detected'));
|
||||||
|
|
||||||
@ -161,7 +166,7 @@ function runTests() {
|
|||||||
env: { FAKE_INSAITS_MODE: 'medium' },
|
env: { FAKE_INSAITS_MODE: 'medium' },
|
||||||
});
|
});
|
||||||
try {
|
try {
|
||||||
assert.strictEqual(result.status, 0);
|
assert.strictEqual(result.status, 0, statusError(result));
|
||||||
assert.strictEqual(result.stdout, '');
|
assert.strictEqual(result.stdout, '');
|
||||||
assert.ok(result.stderr.includes('PROMPT_INJECTION'));
|
assert.ok(result.stderr.includes('PROMPT_INJECTION'));
|
||||||
|
|
||||||
@ -179,7 +184,7 @@ function runTests() {
|
|||||||
env: { FAKE_INSAITS_MODE: 'error', INSAITS_FAIL_MODE: '' },
|
env: { FAKE_INSAITS_MODE: 'error', INSAITS_FAIL_MODE: '' },
|
||||||
});
|
});
|
||||||
try {
|
try {
|
||||||
assert.strictEqual(result.status, 0);
|
assert.strictEqual(result.status, 0, statusError(result));
|
||||||
assert.strictEqual(result.stdout, '');
|
assert.strictEqual(result.stdout, '');
|
||||||
assert.ok(result.stderr.includes('SDK error'));
|
assert.ok(result.stderr.includes('SDK error'));
|
||||||
} finally {
|
} finally {
|
||||||
@ -193,7 +198,7 @@ function runTests() {
|
|||||||
env: { FAKE_INSAITS_MODE: 'error', INSAITS_FAIL_MODE: 'closed' },
|
env: { FAKE_INSAITS_MODE: 'error', INSAITS_FAIL_MODE: 'closed' },
|
||||||
});
|
});
|
||||||
try {
|
try {
|
||||||
assert.strictEqual(result.status, 2);
|
assert.strictEqual(result.status, 2, statusError(result));
|
||||||
assert.ok(result.stdout.includes('InsAIts SDK error (RuntimeError)'));
|
assert.ok(result.stdout.includes('InsAIts SDK error (RuntimeError)'));
|
||||||
assert.ok(result.stdout.includes('blocking execution'));
|
assert.ok(result.stdout.includes('blocking execution'));
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user