UNPKG

@testcontainers/gcloud

Version:
34 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AbstractGcloudEmulator = void 0; const testcontainers_1 = require("testcontainers"); const emulator_flags_manager_1 = require("./emulator-flags-manager"); class AbstractGcloudEmulator extends testcontainers_1.GenericContainer { cmd; flagsManager; constructor(image, port, cmd) { super(image); this.cmd = cmd; this.flagsManager = new emulator_flags_manager_1.EmulatorFlagsManager(); this.withExposedPorts(port) .withFlag("host-port", `0.0.0.0:${port}`) .withWaitStrategy(testcontainers_1.Wait.forLogMessage(/.*running.*/)) .withStartupTimeout(120_000); } /** * Adds flag as argument to emulator start command. * Adding same flag name twice replaces existing flag value. * @param name flag name. Must be set to non-empty string. May optionally contain -- prefix. * @param value flag value. May be empty string. * @returns this instance for chaining. */ withFlag(name, value) { this.flagsManager.withFlag(name, value); return this; } async beforeContainerCreated() { this.withCommand(["/bin/sh", "-c", `${this.cmd} ${this.flagsManager.expandFlags()}`]); } } exports.AbstractGcloudEmulator = AbstractGcloudEmulator; //# sourceMappingURL=abstract-gcloud-emulator.js.map