mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-11 22:51:00 -07:00
[extension config] Make breaking optional value non-optional (#17785)
This commit is contained in:
@@ -22,6 +22,7 @@ import {
|
|||||||
type ExtensionSetting,
|
type ExtensionSetting,
|
||||||
} from '../../config/extensions/extensionSettings.js';
|
} from '../../config/extensions/extensionSettings.js';
|
||||||
import prompts from 'prompts';
|
import prompts from 'prompts';
|
||||||
|
import * as fs from 'node:fs';
|
||||||
|
|
||||||
const {
|
const {
|
||||||
mockExtensionManager,
|
mockExtensionManager,
|
||||||
@@ -79,11 +80,15 @@ vi.mock('../../config/settings.js', () => ({
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
describe('extensions configure command', () => {
|
describe('extensions configure command', () => {
|
||||||
|
let tempWorkspaceDir: string;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
vi.spyOn(debugLogger, 'log');
|
vi.spyOn(debugLogger, 'log');
|
||||||
vi.spyOn(debugLogger, 'error');
|
vi.spyOn(debugLogger, 'error');
|
||||||
vi.clearAllMocks();
|
vi.clearAllMocks();
|
||||||
|
|
||||||
|
tempWorkspaceDir = fs.mkdtempSync('gemini-cli-test-workspace');
|
||||||
|
vi.spyOn(process, 'cwd').mockReturnValue(tempWorkspaceDir);
|
||||||
// Default behaviors
|
// Default behaviors
|
||||||
mockLoadSettings.mockReturnValue({ merged: {} });
|
mockLoadSettings.mockReturnValue({ merged: {} });
|
||||||
mockGetExtensionAndManager.mockResolvedValue({
|
mockGetExtensionAndManager.mockResolvedValue({
|
||||||
@@ -141,6 +146,7 @@ describe('extensions configure command', () => {
|
|||||||
'TEST_VAR',
|
'TEST_VAR',
|
||||||
promptForSetting,
|
promptForSetting,
|
||||||
'user',
|
'user',
|
||||||
|
tempWorkspaceDir,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -186,6 +192,7 @@ describe('extensions configure command', () => {
|
|||||||
'VAR_1',
|
'VAR_1',
|
||||||
promptForSetting,
|
promptForSetting,
|
||||||
'user',
|
'user',
|
||||||
|
tempWorkspaceDir,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ async function configureSpecificSetting(
|
|||||||
settingKey,
|
settingKey,
|
||||||
promptForSetting,
|
promptForSetting,
|
||||||
scope,
|
scope,
|
||||||
|
process.cwd(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -218,6 +219,7 @@ async function configureExtensionSettings(
|
|||||||
setting.envVar,
|
setting.envVar,
|
||||||
promptForSetting,
|
promptForSetting,
|
||||||
scope,
|
scope,
|
||||||
|
process.cwd(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -306,6 +306,7 @@ System using model: \${MODEL_NAME}
|
|||||||
'MY_VALUE',
|
'MY_VALUE',
|
||||||
mockRequestSetting,
|
mockRequestSetting,
|
||||||
ExtensionSettingScope.USER,
|
ExtensionSettingScope.USER,
|
||||||
|
process.cwd(),
|
||||||
);
|
);
|
||||||
|
|
||||||
await extensionManager.restartExtension(extension);
|
await extensionManager.restartExtension(extension);
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ export async function updateSetting(
|
|||||||
settingKey: string,
|
settingKey: string,
|
||||||
requestSetting: (setting: ExtensionSetting) => Promise<string>,
|
requestSetting: (setting: ExtensionSetting) => Promise<string>,
|
||||||
scope: ExtensionSettingScope,
|
scope: ExtensionSettingScope,
|
||||||
workspaceDir?: string,
|
workspaceDir: string,
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const { name: extensionName, settings } = extensionConfig;
|
const { name: extensionName, settings } = extensionConfig;
|
||||||
if (!settings || settings.length === 0) {
|
if (!settings || settings.length === 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user