UNPKG

@deploystack/docker-to-iac

Version:

Translate docker run and docker compose file to Infrastructure as Code

51 lines (50 loc) 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const vitest_1 = require("vitest"); const resolveEnvironmentValue_1 = require("../../../src/utils/resolveEnvironmentValue"); (0, vitest_1.describe)('resolveEnvironmentValue', () => { (0, vitest_1.test)('should return simple value unchanged', () => { const result = (0, resolveEnvironmentValue_1.resolveEnvironmentValue)('simple-value'); (0, vitest_1.expect)(result).toBe('simple-value'); }); (0, vitest_1.test)('should resolve environment variable with default value when variable is present', () => { const result = (0, resolveEnvironmentValue_1.resolveEnvironmentValue)('${DB_URL:-default}', { DB_URL: 'postgres://localhost:5432/db' }); (0, vitest_1.expect)(result).toBe('postgres://localhost:5432/db'); }); (0, vitest_1.test)('should use default value when environment variable not present', () => { const result = (0, resolveEnvironmentValue_1.resolveEnvironmentValue)('${DB_URL:-default}'); (0, vitest_1.expect)(result).toBe('default'); }); (0, vitest_1.test)('should use default value when environment variables are provided but specific one is missing', () => { const result = (0, resolveEnvironmentValue_1.resolveEnvironmentValue)('${DB_URL:-default}', { OTHER_VAR: 'some-value' }); (0, vitest_1.expect)(result).toBe('default'); }); (0, vitest_1.test)('should handle multiple environment variables', () => { const result = (0, resolveEnvironmentValue_1.resolveEnvironmentValue)('prefix-${VAR1:-default1}-middle-${VAR2:-default2}-suffix', { VAR1: 'value1', VAR2: 'value2' }); // Based on the actual implementation, it only replaces the first variable (0, vitest_1.expect)(result).toBe('value1'); }); (0, vitest_1.test)('should handle malformed variable syntax', () => { // Missing closing brace const result = (0, resolveEnvironmentValue_1.resolveEnvironmentValue)('${INCOMPLETE:-default', { INCOMPLETE: 'value' }); (0, vitest_1.expect)(result).toBe('${INCOMPLETE:-default'); }); (0, vitest_1.test)('should handle empty environment variables object', () => { const result = (0, resolveEnvironmentValue_1.resolveEnvironmentValue)('${VAR:-default}', {}); (0, vitest_1.expect)(result).toBe('default'); }); (0, vitest_1.test)('should handle empty default value', () => { const result = (0, resolveEnvironmentValue_1.resolveEnvironmentValue)('${VAR:-}'); // Based on actual implementation, it returns the original string if no match in environment variables (0, vitest_1.expect)(result).toBe('${VAR:-}'); }); });