UNPKG

dockest

Version:

Dockest is an integration testing tool aimed at alleviating the process of evaluating unit tests whilst running multi-container Docker applications.

36 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transformDockestServicesToRunners = void 0; const create_docker_service_event_stream_1 = require("./create-docker-service-event-stream"); const errors_1 = require("../../errors"); const logger_1 = require("../../logger"); const transformDockestServicesToRunners = ({ dockerComposeFile, dockestServices, runMode, dockerEventEmitter, }) => { const createRunner = (dockestService) => { const { commands = [], dependsOn = [], readinessCheck = () => Promise.resolve(), serviceName } = dockestService; const dockerComposeFileService = dockerComposeFile.services[serviceName]; if (!dockerComposeFileService) { throw new errors_1.ConfigurationError(`Unable to find compose service "${serviceName}", make sure that the serviceName corresponds with your Compose File's service`); } const runner = { commands, containerId: '', dependsOn: dependsOn.map(createRunner), dockerComposeFileService, dockerEventStream$: (0, create_docker_service_event_stream_1.createDockerServiceEventStream)(serviceName, dockerEventEmitter), logger: new logger_1.Logger(serviceName), readinessCheck, serviceName, }; if (runMode === 'docker-injected-host-socket') { runner.host = serviceName; runner.isBridgeNetworkMode = true; } return runner; }; return dockestServices.reduce((acc, dockestService) => { acc[dockestService.serviceName] = createRunner(dockestService); return acc; }, {}); }; exports.transformDockestServicesToRunners = transformDockestServicesToRunners; //# sourceMappingURL=transform-dockest-services-to-runners.js.map