UNPKG

@deploystack/docker-to-iac

Version:

Translate docker run and docker compose file to Infrastructure as Code

49 lines (48 loc) 3.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const vitest_1 = require("vitest"); const serviceNameTransformers_1 = require("../../../src/utils/serviceNameTransformers"); // Mock the digitalOceanParserServiceName module vitest_1.vi.mock('../../../src/utils/digitalOceanParserServiceName', () => ({ digitalOceanParserServiceName: vitest_1.vi.fn((name) => `do-${name}`) })); // Import the mocked function const digitalOceanParserServiceName_1 = require("../../../src/utils/digitalOceanParserServiceName"); (0, vitest_1.describe)('getServiceNameTransformer', () => { (0, vitest_1.test)('should return digitalOcean transformer when specified', () => { const transformer = (0, serviceNameTransformers_1.getServiceNameTransformer)('digitalOcean'); // Execute the transformer to verify it calls the right function const result = transformer('my-service'); (0, vitest_1.expect)(result).toBe('do-my-service'); (0, vitest_1.expect)(digitalOceanParserServiceName_1.digitalOceanParserServiceName).toHaveBeenCalledWith('my-service'); }); (0, vitest_1.test)('should return default transformer when no name specified', () => { const transformer = (0, serviceNameTransformers_1.getServiceNameTransformer)(); // Default transformer should return input unchanged const result = transformer('my-service'); (0, vitest_1.expect)(result).toBe('my-service'); }); (0, vitest_1.test)('should return default transformer for unknown transformer name', () => { const transformer = (0, serviceNameTransformers_1.getServiceNameTransformer)('nonexistent'); // Default transformer should return input unchanged const result = transformer('my-service'); (0, vitest_1.expect)(result).toBe('my-service'); }); (0, vitest_1.test)('should handle empty service name', () => { const transformer = (0, serviceNameTransformers_1.getServiceNameTransformer)('digitalOcean'); transformer(''); (0, vitest_1.expect)(digitalOceanParserServiceName_1.digitalOceanParserServiceName).toHaveBeenCalledWith(''); }); (0, vitest_1.test)('should handle special characters in service name', () => { const transformer = (0, serviceNameTransformers_1.getServiceNameTransformer)('digitalOcean'); transformer('my_service@special'); (0, vitest_1.expect)(digitalOceanParserServiceName_1.digitalOceanParserServiceName).toHaveBeenCalledWith('my_service@special'); }); (0, vitest_1.test)('should handle default transformer with various inputs', () => { const transformer = (0, serviceNameTransformers_1.getServiceNameTransformer)('default'); (0, vitest_1.expect)(transformer('my-service')).toBe('my-service'); (0, vitest_1.expect)(transformer('')).toBe(''); (0, vitest_1.expect)(transformer('MY_SERVICE')).toBe('MY_SERVICE'); (0, vitest_1.expect)(transformer('service-123')).toBe('service-123'); }); });