summaryrefslogtreecommitdiff
path: root/packages/cli/src
diff options
context:
space:
mode:
authorjerop <[email protected]>2025-06-06 15:38:44 +0000
committerJerop Kipruto <[email protected]>2025-06-06 11:47:37 -0400
commitb4a6b16227bd94bae99401b2effac8a24c3f92ff (patch)
tree890087ac6b92f55a0156663ec8bf74edac1df55c /packages/cli/src
parent8c28250bb3e6982e1ecff907d9b6c365c6e371d7 (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.ts24
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', () => {