Test: Verify concatenated env var resolution in settings
Adds a test case to `settings.test.ts` to specifically verify the correct resolution of multiple environment variables concatenated within a single string value (e.g., ${HOST}:${PORT} ).
This commit is contained in:
parent
8c28250bb3
commit
b4a6b16227
|
@ -533,6 +533,30 @@ describe('Settings Loading and Merging', () => {
|
||||||
delete process.env.MY_ENV_STRING;
|
delete process.env.MY_ENV_STRING;
|
||||||
delete process.env.MY_ENV_STRING_NESTED;
|
delete process.env.MY_ENV_STRING_NESTED;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should resolve multiple concatenated environment variables in a single string value', () => {
|
||||||
|
process.env.TEST_HOST = 'myhost';
|
||||||
|
process.env.TEST_PORT = '9090';
|
||||||
|
const userSettingsContent = {
|
||||||
|
serverAddress: '${TEST_HOST}:${TEST_PORT}/api',
|
||||||
|
};
|
||||||
|
(mockFsExistsSync as Mock).mockImplementation(
|
||||||
|
(p: fs.PathLike) => p === USER_SETTINGS_PATH,
|
||||||
|
);
|
||||||
|
(fs.readFileSync as Mock).mockImplementation(
|
||||||
|
(p: fs.PathOrFileDescriptor) => {
|
||||||
|
if (p === USER_SETTINGS_PATH)
|
||||||
|
return JSON.stringify(userSettingsContent);
|
||||||
|
return '{}';
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
const settings = loadSettings(MOCK_WORKSPACE_DIR);
|
||||||
|
expect(settings.user.settings.serverAddress).toBe('myhost:9090/api');
|
||||||
|
|
||||||
|
delete process.env.TEST_HOST;
|
||||||
|
delete process.env.TEST_PORT;
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('LoadedSettings class', () => {
|
describe('LoadedSettings class', () => {
|
||||||
|
|
Loading…
Reference in New Issue