UNPKG

dockest

Version:

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

30 lines 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createContainerDieCheck = void 0; const rxjs_1 = require("rxjs"); const operators_1 = require("rxjs/operators"); const createContainerDieCheck = ({ runner }) => { const { dockerEventStream$ } = runner; const stop$ = new rxjs_1.Subject(); const cancel$ = new rxjs_1.Subject(); const info$ = (0, rxjs_1.interval)(1000).pipe((0, operators_1.takeUntil)(stop$), (0, operators_1.tap)(() => { runner.logger.info('Container is still running...'); })); const containerDies$ = dockerEventStream$.pipe((0, operators_1.takeUntil)(stop$), (0, operators_1.first)((event) => event.action === 'die')); return { service: runner.serviceName, done: (0, rxjs_1.race)(containerDies$, info$, cancel$) .pipe((0, operators_1.tap)({ next: () => { stop$.next(); stop$.complete(); }, }), (0, operators_1.mapTo)(undefined)) .toPromise(), cancel: () => { cancel$.complete(); }, }; }; exports.createContainerDieCheck = createContainerDieCheck; //# sourceMappingURL=create-container-die-check.js.map