feat(mindspace): enforce PostgreSQL user data delivery
This commit is contained in:
@@ -3,8 +3,29 @@ import fs from 'node:fs';
|
||||
import os from 'node:os';
|
||||
import path from 'node:path';
|
||||
import test from 'node:test';
|
||||
import { spawnSync } from 'node:child_process';
|
||||
import { createUserDataSpaceService } from './user-data-space-service.mjs';
|
||||
|
||||
test('runtime rejects SQLite user data backend outside node tests', () => {
|
||||
const script = `
|
||||
import { createUserDataSpaceService } from './user-data-space-service.mjs';
|
||||
try {
|
||||
createUserDataSpaceService({ workspaceRoot: '/tmp/runtime-sqlite-denied', backend: 'sqlite' });
|
||||
process.exit(0);
|
||||
} catch (error) {
|
||||
console.error(error.code);
|
||||
process.exit(7);
|
||||
}
|
||||
`;
|
||||
const result = spawnSync(process.execPath, ['--input-type=module', '--eval', script], {
|
||||
cwd: process.cwd(),
|
||||
encoding: 'utf8',
|
||||
env: { ...process.env, NODE_TEST_CONTEXT: '' },
|
||||
});
|
||||
assert.equal(result.status, 7);
|
||||
assert.match(result.stderr, /sqlite_runtime_disabled/);
|
||||
});
|
||||
|
||||
function createTempWorkspace() {
|
||||
return fs.mkdtempSync(path.join(os.tmpdir(), 'user-data-space-'));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user