testcontainers 11.3.2 → 11.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/generic-container/abstract-started-container.d.ts +2 -1
- package/build/generic-container/abstract-started-container.js +4 -1
- package/build/generic-container/abstract-started-container.js.map +1 -1
- package/build/generic-container/generic-container.js +12 -7
- package/build/generic-container/generic-container.js.map +1 -1
- package/build/generic-container/inspect-container-util-ports-exposed.d.ts +1 -8
- package/build/generic-container/inspect-container-util-ports-exposed.js +9 -11
- package/build/generic-container/inspect-container-util-ports-exposed.js.map +1 -1
- package/build/generic-container/started-generic-container.d.ts +1 -1
- package/build/generic-container/started-generic-container.js +8 -4
- package/build/generic-container/started-generic-container.js.map +1 -1
- package/build/test-container.d.ts +2 -1
- package/build/types.d.ts +1 -1
- package/build/utils/bound-ports.d.ts +3 -3
- package/build/utils/bound-ports.js +36 -11
- package/build/utils/bound-ports.js.map +1 -1
- package/build/utils/map-inspect-result.js +3 -2
- package/build/utils/map-inspect-result.js.map +1 -1
- package/build/utils/port.d.ts +3 -1
- package/build/utils/port.js +33 -2
- package/build/utils/port.js.map +1 -1
- package/build/version.d.ts +1 -1
- package/build/version.js +1 -1
- package/build/wait-strategies/host-port-wait-strategy.js +14 -1
- package/build/wait-strategies/host-port-wait-strategy.js.map +1 -1
- package/build/wait-strategies/utils/port-check.d.ts +3 -3
- package/build/wait-strategies/utils/port-check.js +16 -4
- package/build/wait-strategies/utils/port-check.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,7 +12,8 @@ export declare class AbstractStartedContainer implements StartedTestContainer {
|
|
|
12
12
|
getHost(): string;
|
|
13
13
|
getHostname(): string;
|
|
14
14
|
getFirstMappedPort(): number;
|
|
15
|
-
getMappedPort(port: number): number;
|
|
15
|
+
getMappedPort(port: number, protocol?: string): number;
|
|
16
|
+
getMappedPort(portWithProtocol: `${number}/${"tcp" | "udp"}`): number;
|
|
16
17
|
getName(): string;
|
|
17
18
|
getLabels(): Labels;
|
|
18
19
|
getId(): string;
|
|
@@ -31,7 +31,10 @@ class AbstractStartedContainer {
|
|
|
31
31
|
getFirstMappedPort() {
|
|
32
32
|
return this.startedTestContainer.getFirstMappedPort();
|
|
33
33
|
}
|
|
34
|
-
getMappedPort(port) {
|
|
34
|
+
getMappedPort(port, protocol) {
|
|
35
|
+
if (typeof port === "number") {
|
|
36
|
+
return this.startedTestContainer.getMappedPort(port, protocol);
|
|
37
|
+
}
|
|
35
38
|
return this.startedTestContainer.getMappedPort(port);
|
|
36
39
|
}
|
|
37
40
|
getName() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-started-container.js","sourceRoot":"","sources":["../../src/generic-container/abstract-started-container.ts"],"names":[],"mappings":";;;AAIA,MAAa,wBAAwB;IACJ;IAA/B,YAA+B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAAG,CAAC;IAItE,KAAK,CAAC,IAAI,CAAC,OAA8B;QAC9C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChC,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAIM,KAAK,CAAC,OAAO,CAAC,OAAiC;QACpD,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAsB;QACxC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;IAC7C,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACjD,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;IACxD,CAAC;
|
|
1
|
+
{"version":3,"file":"abstract-started-container.js","sourceRoot":"","sources":["../../src/generic-container/abstract-started-container.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,7 +103,7 @@ class GenericContainer {
|
|
|
103
103
|
if (!inspectResult.State.Running) {
|
|
104
104
|
common_1.log.debug("Reused container is not running, attempting to start it");
|
|
105
105
|
await client.container.start(container);
|
|
106
|
-
inspectResult =
|
|
106
|
+
inspectResult = await (0, inspect_container_util_ports_exposed_1.inspectContainerUntilPortsExposed)(() => client.container.inspect(container), container.id);
|
|
107
107
|
}
|
|
108
108
|
const mappedInspectResult = (0, map_inspect_result_1.mapInspectResult)(inspectResult);
|
|
109
109
|
const boundPorts = bound_ports_1.BoundPorts.fromInspectResult(client.info.containerRuntime.hostIps, mappedInspectResult).filter(this.exposedPorts);
|
|
@@ -136,7 +136,8 @@ class GenericContainer {
|
|
|
136
136
|
}
|
|
137
137
|
await client.container.start(container);
|
|
138
138
|
common_1.log.info(`Started container for image "${this.createOpts.Image}"`, { containerId: container.id });
|
|
139
|
-
const
|
|
139
|
+
const inspectResult = await (0, inspect_container_util_ports_exposed_1.inspectContainerUntilPortsExposed)(() => client.container.inspect(container), container.id);
|
|
140
|
+
const mappedInspectResult = (0, map_inspect_result_1.mapInspectResult)(inspectResult);
|
|
140
141
|
const boundPorts = bound_ports_1.BoundPorts.fromInspectResult(client.info.containerRuntime.hostIps, mappedInspectResult).filter(this.exposedPorts);
|
|
141
142
|
if (this.startupTimeoutMs !== undefined) {
|
|
142
143
|
this.waitStrategy.withStartupTimeout(this.startupTimeoutMs);
|
|
@@ -256,7 +257,9 @@ class GenericContainer {
|
|
|
256
257
|
withExposedPorts(...ports) {
|
|
257
258
|
const exposedPorts = {};
|
|
258
259
|
for (const exposedPort of ports) {
|
|
259
|
-
|
|
260
|
+
const containerPort = (0, port_1.getContainerPort)(exposedPort);
|
|
261
|
+
const protocol = (0, port_1.getProtocol)(exposedPort);
|
|
262
|
+
exposedPorts[`${containerPort}/${protocol}`] = {};
|
|
260
263
|
}
|
|
261
264
|
this.exposedPorts = [...this.exposedPorts, ...ports];
|
|
262
265
|
this.createOpts.ExposedPorts = {
|
|
@@ -265,11 +268,13 @@ class GenericContainer {
|
|
|
265
268
|
};
|
|
266
269
|
const portBindings = {};
|
|
267
270
|
for (const exposedPort of ports) {
|
|
271
|
+
const protocol = (0, port_1.getProtocol)(exposedPort);
|
|
268
272
|
if ((0, port_1.hasHostBinding)(exposedPort)) {
|
|
269
|
-
portBindings[`${exposedPort.container}
|
|
273
|
+
portBindings[`${exposedPort.container}/${protocol}`] = [{ HostPort: exposedPort.host.toString() }];
|
|
270
274
|
}
|
|
271
275
|
else {
|
|
272
|
-
|
|
276
|
+
const containerPort = (0, port_1.getContainerPort)(exposedPort);
|
|
277
|
+
portBindings[`${containerPort}/${protocol}`] = [{ HostPort: "0" }];
|
|
273
278
|
}
|
|
274
279
|
}
|
|
275
280
|
this.hostConfig.PortBindings = {
|
|
@@ -355,8 +360,8 @@ class GenericContainer {
|
|
|
355
360
|
return this;
|
|
356
361
|
}
|
|
357
362
|
withResourcesQuota({ memory, cpu }) {
|
|
358
|
-
this.hostConfig.Memory = memory !== undefined ? memory * 1024 ** 3 : undefined;
|
|
359
|
-
this.hostConfig.NanoCpus = cpu !== undefined ? cpu * 10 ** 9 : undefined;
|
|
363
|
+
this.hostConfig.Memory = memory !== undefined ? Math.ceil(memory * 1024 ** 3) : undefined;
|
|
364
|
+
this.hostConfig.NanoCpus = cpu !== undefined ? Math.ceil(cpu * 10 ** 9) : undefined;
|
|
360
365
|
return this;
|
|
361
366
|
}
|
|
362
367
|
withSharedMemorySize(bytes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-container.js","sourceRoot":"","sources":["../../src/generic-container/generic-container.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generic-container.js","sourceRoot":"","sources":["../../src/generic-container/generic-container.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,2 @@
|
|
|
1
1
|
import { ContainerInspectInfo } from "dockerode";
|
|
2
|
-
|
|
3
|
-
import { PortWithOptionalBinding } from "../utils/port";
|
|
4
|
-
type Result = {
|
|
5
|
-
inspectResult: ContainerInspectInfo;
|
|
6
|
-
mappedInspectResult: InspectResult;
|
|
7
|
-
};
|
|
8
|
-
export declare function inspectContainerUntilPortsExposed(inspectFn: () => Promise<ContainerInspectInfo>, ports: PortWithOptionalBinding[], containerId: string, timeout?: number): Promise<Result>;
|
|
9
|
-
export {};
|
|
2
|
+
export declare function inspectContainerUntilPortsExposed(inspectFn: () => Promise<ContainerInspectInfo>, containerId: string, timeout?: number): Promise<ContainerInspectInfo>;
|
|
@@ -2,17 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.inspectContainerUntilPortsExposed = inspectContainerUntilPortsExposed;
|
|
4
4
|
const common_1 = require("../common");
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
return
|
|
12
|
-
}, (
|
|
13
|
-
|
|
14
|
-
.every((exposedPort) => mappedInspectResult.ports[exposedPort]?.length > 0), () => {
|
|
15
|
-
const message = `Container did not expose all ports after starting`;
|
|
5
|
+
async function inspectContainerUntilPortsExposed(inspectFn, containerId, timeout = 10_000) {
|
|
6
|
+
const result = await new common_1.IntervalRetry(250).retryUntil(() => inspectFn(), (inspectResult) => {
|
|
7
|
+
const portBindings = inspectResult?.HostConfig?.PortBindings;
|
|
8
|
+
if (!portBindings)
|
|
9
|
+
return true;
|
|
10
|
+
const expectedlyBoundPorts = Object.keys(portBindings);
|
|
11
|
+
return expectedlyBoundPorts.every((exposedPort) => inspectResult.NetworkSettings.Ports[exposedPort]?.length > 0);
|
|
12
|
+
}, () => {
|
|
13
|
+
const message = `Timed out after ${timeout}ms while waiting for container ports to be bound to the host`;
|
|
16
14
|
common_1.log.error(message, { containerId });
|
|
17
15
|
return new Error(message);
|
|
18
16
|
}, timeout);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect-container-util-ports-exposed.js","sourceRoot":"","sources":["../../src/generic-container/inspect-container-util-ports-exposed.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"inspect-container-util-ports-exposed.js","sourceRoot":"","sources":["../../src/generic-container/inspect-container-util-ports-exposed.ts"],"names":[],"mappings":";;AAGA,8EA0BC;AA5BD,sCAA+C;AAExC,KAAK,UAAU,iCAAiC,CACrD,SAA8C,EAC9C,WAAmB,EACnB,OAAO,GAAG,MAAM;IAEhB,MAAM,MAAM,GAAG,MAAM,IAAI,sBAAa,CAA8B,GAAG,CAAC,CAAC,UAAU,CACjF,GAAG,EAAE,CAAC,SAAS,EAAE,EACjB,CAAC,aAAa,EAAE,EAAE;QAChB,MAAM,YAAY,GAAG,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC;QAC7D,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACnH,CAAC,EACD,GAAG,EAAE;QACH,MAAM,OAAO,GAAG,mBAAmB,OAAO,8DAA8D,CAAC;QACzG,YAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACpC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC,EACD,OAAO,CACR,CAAC;IAEF,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -28,7 +28,7 @@ export declare class StartedGenericContainer implements StartedTestContainer {
|
|
|
28
28
|
getHost(): string;
|
|
29
29
|
getHostname(): string;
|
|
30
30
|
getFirstMappedPort(): number;
|
|
31
|
-
getMappedPort(port: number): number;
|
|
31
|
+
getMappedPort(port: string | number, protocol?: string): number;
|
|
32
32
|
getId(): string;
|
|
33
33
|
getName(): string;
|
|
34
34
|
getLabels(): Labels;
|
|
@@ -13,6 +13,7 @@ const bound_ports_1 = require("../utils/bound-ports");
|
|
|
13
13
|
const labels_1 = require("../utils/labels");
|
|
14
14
|
const map_inspect_result_1 = require("../utils/map-inspect-result");
|
|
15
15
|
const wait_for_container_1 = require("../wait-strategies/wait-for-container");
|
|
16
|
+
const inspect_container_util_ports_exposed_1 = require("./inspect-container-util-ports-exposed");
|
|
16
17
|
const stopped_generic_container_1 = require("./stopped-generic-container");
|
|
17
18
|
class StartedGenericContainer {
|
|
18
19
|
container;
|
|
@@ -74,7 +75,7 @@ class StartedGenericContainer {
|
|
|
74
75
|
const client = await (0, container_runtime_1.getContainerRuntimeClient)();
|
|
75
76
|
const resolvedOptions = { timeout: 0, ...options };
|
|
76
77
|
await client.container.restart(this.container, resolvedOptions);
|
|
77
|
-
this.inspectResult = await client.container.inspect(this.container);
|
|
78
|
+
this.inspectResult = await (0, inspect_container_util_ports_exposed_1.inspectContainerUntilPortsExposed)(() => client.container.inspect(this.container), this.container.id);
|
|
78
79
|
const mappedInspectResult = (0, map_inspect_result_1.mapInspectResult)(this.inspectResult);
|
|
79
80
|
const startTime = new Date(this.inspectResult.State.StartedAt);
|
|
80
81
|
if (common_1.containerLog.enabled()) {
|
|
@@ -82,7 +83,10 @@ class StartedGenericContainer {
|
|
|
82
83
|
.on("data", (data) => common_1.containerLog.trace(data.trim(), { containerId: this.container.id }))
|
|
83
84
|
.on("err", (data) => common_1.containerLog.error(data.trim(), { containerId: this.container.id }));
|
|
84
85
|
}
|
|
85
|
-
this.boundPorts = bound_ports_1.BoundPorts.fromInspectResult(client.info.containerRuntime.hostIps, mappedInspectResult).filter(Array.from(this.boundPorts.iterator()).map((port) =>
|
|
86
|
+
this.boundPorts = bound_ports_1.BoundPorts.fromInspectResult(client.info.containerRuntime.hostIps, mappedInspectResult).filter(Array.from(this.boundPorts.iterator()).map((port) => {
|
|
87
|
+
const [portNumber, protocol] = port[0].split("/");
|
|
88
|
+
return `${portNumber}/${protocol}`;
|
|
89
|
+
}));
|
|
86
90
|
await (0, wait_for_container_1.waitForContainer)(client, this.container, this.waitStrategy, this.boundPorts, startTime);
|
|
87
91
|
common_1.log.info(`Restarted container`, { containerId: this.container.id });
|
|
88
92
|
}
|
|
@@ -112,8 +116,8 @@ class StartedGenericContainer {
|
|
|
112
116
|
getFirstMappedPort() {
|
|
113
117
|
return this.boundPorts.getFirstBinding();
|
|
114
118
|
}
|
|
115
|
-
getMappedPort(port) {
|
|
116
|
-
return this.boundPorts.getBinding(port);
|
|
119
|
+
getMappedPort(port, protocol = "tcp") {
|
|
120
|
+
return this.boundPorts.getBinding(port, protocol);
|
|
117
121
|
}
|
|
118
122
|
getId() {
|
|
119
123
|
return this.container.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"started-generic-container.js","sourceRoot":"","sources":["../../src/generic-container/started-generic-container.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,4DAAmC;AAGnC,sCAA8C;AAC9C,4DAAyF;AACzF,6CAA6C;AAG7C,sDAAkD;AAClD,4CAAkE;AAClE,oEAA+D;
|
|
1
|
+
{"version":3,"file":"started-generic-container.js","sourceRoot":"","sources":["../../src/generic-container/started-generic-container.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,8 @@ export interface StartedTestContainer extends AsyncDisposable {
|
|
|
52
52
|
getHost(): string;
|
|
53
53
|
getHostname(): string;
|
|
54
54
|
getFirstMappedPort(): number;
|
|
55
|
-
getMappedPort(port: number): number;
|
|
55
|
+
getMappedPort(port: number, protocol?: string): number;
|
|
56
|
+
getMappedPort(portWithProtocol: `${number}/${"tcp" | "udp"}`): number;
|
|
56
57
|
getName(): string;
|
|
57
58
|
getLabels(): Labels;
|
|
58
59
|
getId(): string;
|
package/build/types.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ import { HostPortBindings, InspectResult } from "../types";
|
|
|
3
3
|
import { PortWithOptionalBinding } from "./port";
|
|
4
4
|
export declare class BoundPorts {
|
|
5
5
|
private readonly ports;
|
|
6
|
-
getBinding(port: number): number;
|
|
6
|
+
getBinding(port: number | string, protocol?: string): number;
|
|
7
7
|
getFirstBinding(): number;
|
|
8
|
-
setBinding(key: number, value: number): void;
|
|
9
|
-
iterator(): Iterable<[
|
|
8
|
+
setBinding(key: string | number, value: number, protocol?: string): void;
|
|
9
|
+
iterator(): Iterable<[string, number]>;
|
|
10
10
|
filter(ports: PortWithOptionalBinding[]): BoundPorts;
|
|
11
11
|
static fromInspectResult(hostIps: HostIp[], inspectResult: InspectResult): BoundPorts;
|
|
12
12
|
}
|
|
@@ -8,10 +8,18 @@ const net_1 = __importDefault(require("net"));
|
|
|
8
8
|
const port_1 = require("./port");
|
|
9
9
|
class BoundPorts {
|
|
10
10
|
ports = new Map();
|
|
11
|
-
getBinding(port) {
|
|
12
|
-
|
|
11
|
+
getBinding(port, protocol = "tcp") {
|
|
12
|
+
let key;
|
|
13
|
+
if (typeof port === "string" && port.includes("/")) {
|
|
14
|
+
const [portNumber, portProtocol] = port.split("/");
|
|
15
|
+
key = `${portNumber}/${portProtocol.toLowerCase()}`;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
key = `${port}/${protocol.toLowerCase()}`;
|
|
19
|
+
}
|
|
20
|
+
const binding = this.ports.get(key);
|
|
13
21
|
if (!binding) {
|
|
14
|
-
throw new Error(`No port binding found for :${
|
|
22
|
+
throw new Error(`No port binding found for :${key}`);
|
|
15
23
|
}
|
|
16
24
|
return binding;
|
|
17
25
|
}
|
|
@@ -24,27 +32,44 @@ class BoundPorts {
|
|
|
24
32
|
return firstBinding;
|
|
25
33
|
}
|
|
26
34
|
}
|
|
27
|
-
setBinding(key, value) {
|
|
28
|
-
|
|
35
|
+
setBinding(key, value, protocol = "tcp") {
|
|
36
|
+
const normalizedProtocol = protocol.toLowerCase();
|
|
37
|
+
if (typeof key === "string" && key.includes("/")) {
|
|
38
|
+
const [portNumber, portProtocol] = key.split("/");
|
|
39
|
+
const normalizedKey = `${portNumber}/${portProtocol.toLowerCase()}`;
|
|
40
|
+
this.ports.set(normalizedKey, value);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const portKey = typeof key === "string" ? key : `${key}/${normalizedProtocol}`;
|
|
44
|
+
this.ports.set(portKey, value);
|
|
45
|
+
}
|
|
29
46
|
}
|
|
30
47
|
iterator() {
|
|
31
48
|
return this.ports;
|
|
32
49
|
}
|
|
33
50
|
filter(ports) {
|
|
34
51
|
const boundPorts = new BoundPorts();
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
52
|
+
const containerPortsWithProtocol = new Map();
|
|
53
|
+
ports.forEach((port) => {
|
|
54
|
+
const containerPort = (0, port_1.getContainerPort)(port);
|
|
55
|
+
const protocol = (0, port_1.getProtocol)(port);
|
|
56
|
+
containerPortsWithProtocol.set(containerPort, protocol);
|
|
57
|
+
});
|
|
58
|
+
for (const [internalPortWithProtocol, hostPort] of this.iterator()) {
|
|
59
|
+
const [internalPortStr, protocol] = internalPortWithProtocol.split("/");
|
|
60
|
+
const internalPort = parseInt(internalPortStr, 10);
|
|
61
|
+
if (containerPortsWithProtocol.has(internalPort) &&
|
|
62
|
+
containerPortsWithProtocol.get(internalPort)?.toLowerCase() === protocol?.toLowerCase()) {
|
|
63
|
+
boundPorts.setBinding(internalPortWithProtocol, hostPort);
|
|
39
64
|
}
|
|
40
65
|
}
|
|
41
66
|
return boundPorts;
|
|
42
67
|
}
|
|
43
68
|
static fromInspectResult(hostIps, inspectResult) {
|
|
44
69
|
const boundPorts = new BoundPorts();
|
|
45
|
-
Object.entries(inspectResult.ports).forEach(([
|
|
70
|
+
Object.entries(inspectResult.ports).forEach(([containerPortWithProtocol, hostBindings]) => {
|
|
46
71
|
const hostPort = (0, exports.resolveHostPortBinding)(hostIps, hostBindings);
|
|
47
|
-
boundPorts.setBinding(
|
|
72
|
+
boundPorts.setBinding(containerPortWithProtocol, hostPort);
|
|
48
73
|
});
|
|
49
74
|
return boundPorts;
|
|
50
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bound-ports.js","sourceRoot":"","sources":["../../src/utils/bound-ports.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AAGtB,
|
|
1
|
+
{"version":3,"file":"bound-ports.js","sourceRoot":"","sources":["../../src/utils/bound-ports.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,10 @@ function mapPorts(inspectInfo) {
|
|
|
22
22
|
return Object.entries(inspectInfo.NetworkSettings.Ports)
|
|
23
23
|
.filter(([, hostPorts]) => hostPorts !== null)
|
|
24
24
|
.map(([containerPortAndProtocol, hostPorts]) => {
|
|
25
|
-
const
|
|
25
|
+
const [port, protocol] = containerPortAndProtocol.split("/");
|
|
26
|
+
const containerPort = parseInt(port);
|
|
26
27
|
return {
|
|
27
|
-
[containerPort]: hostPorts.map((hostPort) => ({
|
|
28
|
+
[`${containerPort}/${protocol}`]: hostPorts.map((hostPort) => ({
|
|
28
29
|
hostIp: hostPort.HostIp,
|
|
29
30
|
hostPort: parseInt(hostPort.HostPort),
|
|
30
31
|
})),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-inspect-result.js","sourceRoot":"","sources":["../../src/utils/map-inspect-result.ts"],"names":[],"mappings":";;AAGA,4CAiBC;AAjBD,SAAgB,gBAAgB,CAAC,aAAmC;IAClE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE5D,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ;QACvC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC;QAC9B,iBAAiB,EAAE,oBAAoB,CAAC,aAAa,CAAC;QACtD,eAAe,EAAE,kBAAkB,CAAC,aAAa,CAAC;QAClD,KAAK,EAAE;YACL,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM;YAClC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO;YACpC,SAAS,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;YAClD,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;SAC9D;QACD,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,WAAiC;IACjD,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC;SACrD,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,wBAAwB,EAAE,SAAS,CAAC,EAAE,EAAE;QAC7C,MAAM,
|
|
1
|
+
{"version":3,"file":"map-inspect-result.js","sourceRoot":"","sources":["../../src/utils/map-inspect-result.ts"],"names":[],"mappings":";;AAGA,4CAiBC;AAjBD,SAAgB,gBAAgB,CAAC,aAAmC;IAClE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE5D,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ;QACvC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC;QAC9B,iBAAiB,EAAE,oBAAoB,CAAC,aAAa,CAAC;QACtD,eAAe,EAAE,kBAAkB,CAAC,aAAa,CAAC;QAClD,KAAK,EAAE;YACL,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM;YAClC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO;YACpC,SAAS,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;YAClD,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;SAC9D;QACD,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,WAAiC;IACjD,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC;SACrD,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,wBAAwB,EAAE,SAAS,CAAC,EAAE,EAAE;QAC7C,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO;YACL,CAAC,GAAG,aAAa,IAAI,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC7D,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACtC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAmC;IAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;IAE1C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,MAA2B,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,aAAmC;IAC7D,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC;SAC1D,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC,WAAW,CAAC,EAAE;YACb,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B;KACF,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC"}
|
package/build/utils/port.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export type PortWithBinding = {
|
|
2
2
|
container: number;
|
|
3
3
|
host: number;
|
|
4
|
+
protocol?: "tcp" | "udp";
|
|
4
5
|
};
|
|
5
|
-
export type PortWithOptionalBinding = number | PortWithBinding;
|
|
6
|
+
export type PortWithOptionalBinding = number | `${number}/${"tcp" | "udp"}` | PortWithBinding;
|
|
6
7
|
export declare const getContainerPort: (port: PortWithOptionalBinding) => number;
|
|
7
8
|
export declare const hasHostBinding: (port: PortWithOptionalBinding) => port is PortWithBinding;
|
|
9
|
+
export declare const getProtocol: (port: PortWithOptionalBinding) => string;
|
package/build/utils/port.js
CHANGED
|
@@ -1,10 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hasHostBinding = exports.getContainerPort = void 0;
|
|
4
|
-
const
|
|
3
|
+
exports.getProtocol = exports.hasHostBinding = exports.getContainerPort = void 0;
|
|
4
|
+
const portWithProtocolRegex = RegExp(/^(\d+)(?:\/(udp|tcp))?$/i);
|
|
5
|
+
const getContainerPort = (port) => {
|
|
6
|
+
if (typeof port === "number") {
|
|
7
|
+
return port;
|
|
8
|
+
}
|
|
9
|
+
else if (typeof port === "string") {
|
|
10
|
+
const match = portWithProtocolRegex.exec(port);
|
|
11
|
+
if (match) {
|
|
12
|
+
return parseInt(match[1], 10);
|
|
13
|
+
}
|
|
14
|
+
throw new Error(`Invalid port format: ${port}`);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return port.container;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
5
20
|
exports.getContainerPort = getContainerPort;
|
|
6
21
|
const hasHostBinding = (port) => {
|
|
7
22
|
return typeof port === "object" && port.host !== undefined;
|
|
8
23
|
};
|
|
9
24
|
exports.hasHostBinding = hasHostBinding;
|
|
25
|
+
const getProtocol = (port) => {
|
|
26
|
+
if (typeof port === "number") {
|
|
27
|
+
return "tcp";
|
|
28
|
+
}
|
|
29
|
+
else if (typeof port === "string") {
|
|
30
|
+
const match = portWithProtocolRegex.exec(port);
|
|
31
|
+
if (match?.[2]) {
|
|
32
|
+
return match[2].toLowerCase();
|
|
33
|
+
}
|
|
34
|
+
return "tcp";
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return port.protocol ? port.protocol.toLowerCase() : "tcp";
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.getProtocol = getProtocol;
|
|
10
41
|
//# sourceMappingURL=port.js.map
|
package/build/utils/port.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/utils/port.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/utils/port.ts"],"names":[],"mappings":";;;AAQA,MAAM,qBAAqB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAE1D,MAAM,gBAAgB,GAAG,CAAC,IAA6B,EAAU,EAAE;IACxE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,gBAAgB,oBAY3B;AAEK,MAAM,cAAc,GAAG,CAAC,IAA6B,EAA2B,EAAE;IACvF,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;AAC7D,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,WAAW,GAAG,CAAC,IAA6B,EAAU,EAAE;IACnE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB"}
|
package/build/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "11.
|
|
1
|
+
export declare const LIB_VERSION = "11.5.0";
|
package/build/version.js
CHANGED
|
@@ -16,7 +16,13 @@ class HostPortWaitStrategy extends wait_strategy_1.AbstractWaitStrategy {
|
|
|
16
16
|
]);
|
|
17
17
|
}
|
|
18
18
|
async waitForHostPorts(portCheck, container, boundPorts) {
|
|
19
|
-
for (const [, hostPort] of boundPorts.iterator()) {
|
|
19
|
+
for (const [portKey, hostPort] of boundPorts.iterator()) {
|
|
20
|
+
if (portKey.toLowerCase().endsWith("/udp")) {
|
|
21
|
+
common_1.log.debug(`Skipping wait for host port ${hostPort} (mapped from UDP port ${portKey})`, {
|
|
22
|
+
containerId: container.id,
|
|
23
|
+
});
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
20
26
|
common_1.log.debug(`Waiting for host port ${hostPort}...`, { containerId: container.id });
|
|
21
27
|
await this.waitForPort(container, hostPort, portCheck);
|
|
22
28
|
common_1.log.debug(`Host port ${hostPort} ready`, { containerId: container.id });
|
|
@@ -25,10 +31,17 @@ class HostPortWaitStrategy extends wait_strategy_1.AbstractWaitStrategy {
|
|
|
25
31
|
}
|
|
26
32
|
async waitForInternalPorts(portCheck, container, boundPorts) {
|
|
27
33
|
for (const [internalPort] of boundPorts.iterator()) {
|
|
34
|
+
if (internalPort.toLowerCase().endsWith("/udp")) {
|
|
35
|
+
common_1.log.debug(`Skipping wait for internal UDP port ${internalPort}`, {
|
|
36
|
+
containerId: container.id,
|
|
37
|
+
});
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
28
40
|
common_1.log.debug(`Waiting for internal port ${internalPort}...`, { containerId: container.id });
|
|
29
41
|
await this.waitForPort(container, internalPort, portCheck);
|
|
30
42
|
common_1.log.debug(`Internal port ${internalPort} ready`, { containerId: container.id });
|
|
31
43
|
}
|
|
44
|
+
common_1.log.debug(`Internal port wait strategy complete`, { containerId: container.id });
|
|
32
45
|
}
|
|
33
46
|
async waitForPort(container, port, portCheck) {
|
|
34
47
|
await new common_1.IntervalRetry(100).retryUntil(() => portCheck.isBound(port), (isBound) => isBound, () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-port-wait-strategy.js","sourceRoot":"","sources":["../../src/wait-strategies/host-port-wait-strategy.ts"],"names":[],"mappings":";;;AACA,sCAA+C;AAC/C,4DAAiE;AAEjE,mDAAiF;AACjF,mDAAuD;AAEvD,MAAa,oBAAqB,SAAQ,oCAAoB;IACrD,KAAK,CAAC,cAAc,CAAC,SAA8B,EAAE,UAAsB;QAChF,MAAM,MAAM,GAAG,MAAM,IAAA,6CAAyB,GAAE,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,0BAAa,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,IAAI,8BAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEnE,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC;YAC3D,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,EAAE,UAAU,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,SAAoB,EACpB,SAA8B,EAC9B,UAAsB;QAEtB,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"host-port-wait-strategy.js","sourceRoot":"","sources":["../../src/wait-strategies/host-port-wait-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import Dockerode from "dockerode";
|
|
2
2
|
import { ContainerRuntimeClient } from "../../container-runtime";
|
|
3
3
|
export interface PortCheck {
|
|
4
|
-
isBound(port: number): Promise<boolean>;
|
|
4
|
+
isBound(port: number | string): Promise<boolean>;
|
|
5
5
|
}
|
|
6
6
|
export declare class HostPortCheck implements PortCheck {
|
|
7
7
|
private readonly client;
|
|
8
8
|
constructor(client: ContainerRuntimeClient);
|
|
9
|
-
isBound(port: number): Promise<boolean>;
|
|
9
|
+
isBound(port: number | string): Promise<boolean>;
|
|
10
10
|
}
|
|
11
11
|
export declare class InternalPortCheck implements PortCheck {
|
|
12
12
|
private readonly client;
|
|
@@ -14,6 +14,6 @@ export declare class InternalPortCheck implements PortCheck {
|
|
|
14
14
|
private isDistroless;
|
|
15
15
|
private readonly commandOutputs;
|
|
16
16
|
constructor(client: ContainerRuntimeClient, container: Dockerode.Container);
|
|
17
|
-
isBound(port: number): Promise<boolean>;
|
|
17
|
+
isBound(port: number | string): Promise<boolean>;
|
|
18
18
|
private commandOutputsKey;
|
|
19
19
|
}
|
|
@@ -9,8 +9,13 @@ class HostPortCheck {
|
|
|
9
9
|
this.client = client;
|
|
10
10
|
}
|
|
11
11
|
isBound(port) {
|
|
12
|
+
if (typeof port === "string" && port.toLowerCase().endsWith("/udp")) {
|
|
13
|
+
common_1.log.debug(`Skipping host port check for UDP port ${port} (UDP port checks not supported)`);
|
|
14
|
+
return Promise.resolve(true);
|
|
15
|
+
}
|
|
12
16
|
return new Promise((resolve) => {
|
|
13
17
|
const socket = new net_1.Socket();
|
|
18
|
+
const portNumber = typeof port === "string" ? parseInt(port.split("/")[0], 10) : port;
|
|
14
19
|
socket
|
|
15
20
|
.setTimeout(1000)
|
|
16
21
|
.on("error", () => {
|
|
@@ -21,7 +26,7 @@ class HostPortCheck {
|
|
|
21
26
|
socket.destroy();
|
|
22
27
|
resolve(false);
|
|
23
28
|
})
|
|
24
|
-
.connect(
|
|
29
|
+
.connect(portNumber, this.client.info.containerRuntime.host, () => {
|
|
25
30
|
socket.end();
|
|
26
31
|
resolve(true);
|
|
27
32
|
});
|
|
@@ -39,11 +44,18 @@ class InternalPortCheck {
|
|
|
39
44
|
this.container = container;
|
|
40
45
|
}
|
|
41
46
|
async isBound(port) {
|
|
42
|
-
|
|
47
|
+
if (typeof port === "string" && port.toLowerCase().includes("/udp")) {
|
|
48
|
+
common_1.log.debug(`Skipping internal port check for UDP port ${port} (UDP port checks not supported)`, {
|
|
49
|
+
containerId: this.container.id,
|
|
50
|
+
});
|
|
51
|
+
return Promise.resolve(true);
|
|
52
|
+
}
|
|
53
|
+
const portNumber = typeof port === "string" ? parseInt(port.split("/")[0], 10) : port;
|
|
54
|
+
const portHex = portNumber.toString(16).padStart(4, "0");
|
|
43
55
|
const commands = [
|
|
44
56
|
["/bin/sh", "-c", `cat /proc/net/tcp* | awk '{print $2}' | grep -i :${portHex}`],
|
|
45
|
-
["/bin/sh", "-c", `nc -vz -w 1 localhost ${
|
|
46
|
-
["/bin/bash", "-c", `</dev/tcp/localhost/${
|
|
57
|
+
["/bin/sh", "-c", `nc -vz -w 1 localhost ${portNumber}`],
|
|
58
|
+
["/bin/bash", "-c", `</dev/tcp/localhost/${portNumber}`],
|
|
47
59
|
];
|
|
48
60
|
const commandResults = await Promise.all(commands.map((command) => this.client.container.exec(this.container, command, { log: false })));
|
|
49
61
|
const isBound = commandResults.some((result) => result.exitCode === 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port-check.js","sourceRoot":"","sources":["../../../src/wait-strategies/utils/port-check.ts"],"names":[],"mappings":";;;AACA,6BAA6B;AAC7B,yCAAmC;AAOnC,MAAa,aAAa;IACK;IAA7B,YAA6B,MAA8B;QAA9B,WAAM,GAAN,MAAM,CAAwB;IAAG,CAAC;IAExD,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"port-check.js","sourceRoot":"","sources":["../../../src/wait-strategies/utils/port-check.ts"],"names":[],"mappings":"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"}
|