dockest
Version:
Dockest is an integration testing tool aimed at alleviating the process of evaluating unit tests whilst running multi-container Docker applications.
33 lines • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.teardown = void 0;
const errors_1 = require("../errors");
const logger_1 = require("../logger");
const leave_bridge_network_1 = require("../utils/network/leave-bridge-network");
const remove_bridge_network_1 = require("../utils/network/remove-bridge-network");
const teardown_single_1 = require("../utils/teardown-single");
const teardown = async ({ hostname, runMode, mutables: { runnerLookupMap, dockerEventEmitter, teardownOrder }, perfStart, logWriter, }) => {
if (teardownOrder) {
for (const serviceName of teardownOrder) {
const runner = runnerLookupMap.get(serviceName);
if (!runner) {
throw new errors_1.DockestError('Could not find service in lookup map.');
}
await (0, teardown_single_1.teardownSingle)({ runner });
}
}
else {
for (const runner of runnerLookupMap.values()) {
await (0, teardown_single_1.teardownSingle)({ runner });
}
}
if (runMode === 'docker-injected-host-socket') {
await (0, leave_bridge_network_1.leaveBridgeNetwork)({ containerId: hostname });
await (0, remove_bridge_network_1.removeBridgeNetwork)();
}
dockerEventEmitter.destroy();
await logWriter.destroy();
logger_1.Logger.measurePerformance(perfStart);
};
exports.teardown = teardown;
//# sourceMappingURL=teardown.js.map