fix: enforce folder trust for workspace settings, skills, and context (#17596)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
This commit is contained in:
Gal Zahavi
2026-02-03 14:53:31 -08:00
committed by GitHub
parent d63c34b6e1
commit 71f46f1160
18 changed files with 1310 additions and 788 deletions
@@ -21,6 +21,17 @@ import * as path from 'node:path';
import * as os from 'node:os';
import { GEMINI_DIR, debugLogger } from '@google/gemini-cli-core';
vi.mock('fs', async (importOriginal) => {
const actualFs = await importOriginal<typeof fs>();
return {
...actualFs,
existsSync: vi.fn(actualFs.existsSync),
readFileSync: vi.fn(actualFs.readFileSync),
writeFileSync: vi.fn(actualFs.writeFileSync),
mkdirSync: vi.fn(actualFs.mkdirSync),
};
});
vi.mock('fs/promises', () => ({
readFile: vi.fn(),
writeFile: vi.fn(),
@@ -30,6 +41,14 @@ vi.mock('../utils.js', () => ({
exitCli: vi.fn(),
}));
vi.mock('../../config/trustedFolders.js', () => ({
isWorkspaceTrusted: vi.fn(() => ({
isTrusted: true,
source: undefined,
})),
isFolderTrustEnabled: vi.fn(() => false),
}));
describe('mcp remove command', () => {
describe('unit tests with mocks', () => {
let parser: Argv;