UNPKG

@deploystack/docker-to-iac

Version:

Translate docker run and docker compose file to Infrastructure as Code

98 lines (97 loc) 4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const vitest_1 = require("vitest"); const detectDatabaseEnvVars_1 = require("../../../src/utils/detectDatabaseEnvVars"); const base_parser_1 = require("../../../src/parsers/base-parser"); (0, vitest_1.describe)('generateDatabaseServiceConnections', () => { (0, vitest_1.test)('should return empty array when no services are provided', () => { const config = { services: {} }; const result = (0, detectDatabaseEnvVars_1.generateDatabaseServiceConnections)(config); (0, vitest_1.expect)(result).toEqual([]); }); (0, vitest_1.test)('should return empty array when there are no database connections to detect', () => { const config = { services: { 'web': { environment: { 'NODE_ENV': 'production', 'PORT': '3000' } } } }; const result = (0, detectDatabaseEnvVars_1.generateDatabaseServiceConnections)(config); (0, vitest_1.expect)(result).toEqual([]); }); (0, vitest_1.test)('should handle service with potential database environment variables', () => { const config = { services: { 'web': { environment: { 'DATABASE_URL': 'postgres://localhost:5432/db', 'REDIS_URL': 'redis://localhost:6379' } }, 'db': { image: { registry_type: base_parser_1.RegistryType.DOCKER_HUB, repository: 'postgres' }, environment: {} }, 'cache': { image: { registry_type: base_parser_1.RegistryType.DOCKER_HUB, repository: 'redis' }, environment: {} } } }; const result = (0, detectDatabaseEnvVars_1.generateDatabaseServiceConnections)(config); // The implementation returns an empty array based on the function in src/utils/detectDatabaseEnvVars.ts (0, vitest_1.expect)(result).toEqual([]); }); (0, vitest_1.test)('should handle complex environment variables', () => { const config = { services: { 'api': { environment: { 'PG_CONNECTION_STRING': 'postgres://user:password@db:5432/database', 'MYSQL_CONNECTION': 'mysql://root:pass@mysql:3306/app', 'MONGODB_URI': 'mongodb://mongo:27017/data' } }, 'db': { image: { registry_type: base_parser_1.RegistryType.DOCKER_HUB, repository: 'postgres', tag: 'latest' }, environment: {} }, 'mysql': { image: { registry_type: base_parser_1.RegistryType.DOCKER_HUB, repository: 'mysql', tag: '8.0' }, environment: {} }, 'mongo': { image: { registry_type: base_parser_1.RegistryType.DOCKER_HUB, repository: 'mongodb', tag: 'latest' }, environment: {} } } }; const result = (0, detectDatabaseEnvVars_1.generateDatabaseServiceConnections)(config); // The implementation returns an empty array based on the function in src/utils/detectDatabaseEnvVars.ts (0, vitest_1.expect)(result).toEqual([]); }); });