diff options
| author | jerop <[email protected]> | 2025-06-06 15:38:44 +0000 |
|---|---|---|
| committer | Jerop Kipruto <[email protected]> | 2025-06-06 11:47:37 -0400 |
| commit | b4a6b16227bd94bae99401b2effac8a24c3f92ff (patch) | |
| tree | 890087ac6b92f55a0156663ec8bf74edac1df55c /packages/cli/src | |
| parent | 8c28250bb3e6982e1ecff907d9b6c365c6e371d7 (diff) | |
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} ).
Diffstat (limited to 'packages/cli/src')
| -rw-r--r-- | packages/cli/src/config/settings.test.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/cli/src/config/settings.test.ts b/packages/cli/src/config/settings.test.ts index a562c664..6c075b38 100644 --- a/packages/cli/src/config/settings.test.ts +++ b/packages/cli/src/config/settings.test.ts @@ -533,6 +533,30 @@ describe('Settings Loading and Merging', () => { delete process.env.MY_ENV_STRING; 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', () => { |
