testcontainers 8.13.1-beta.2 → 8.13.1-beta.5

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.
@@ -32,14 +32,15 @@ const getDockerClient = () => __awaiter(void 0, void 0, void 0, function* () {
32
32
  logger_1.log.debug(`Found applicable Docker client strategy: ${strategy.getName()}`);
33
33
  const { uri, dockerode } = yield strategy.initialise();
34
34
  logger_1.log.debug(`Testing Docker client strategy URI: ${uri}`);
35
- // if (await isDockerDaemonReachable(dockerode)) {
36
- const host = yield resolveHost(dockerode, uri);
37
- logger_1.log.info(`Using Docker client strategy: ${strategy.getName()}, Docker host: ${host}`);
38
- (0, log_system_diagnostics_1.logSystemDiagnostics)();
39
- return { host, dockerode };
40
- // } else {
41
- // log.warn(`Docker client strategy ${strategy.getName()} is not reachable`);
42
- // }
35
+ if (yield isDockerDaemonReachable(dockerode)) {
36
+ const host = yield resolveHost(dockerode, uri);
37
+ logger_1.log.info(`Using Docker client strategy: ${strategy.getName()}, Docker host: ${host}`);
38
+ (0, log_system_diagnostics_1.logSystemDiagnostics)(dockerode);
39
+ return { host, dockerode };
40
+ }
41
+ else {
42
+ logger_1.log.warn(`Docker client strategy ${strategy.getName()} is not reachable`);
43
+ }
43
44
  }
44
45
  }
45
46
  throw new Error("No Docker client strategy found");
@@ -1,3 +1,3 @@
1
1
  import { Readable } from "stream";
2
2
  import Dockerode from "dockerode";
3
- export declare const attachContainer: (container: Dockerode.Container) => Promise<Readable>;
3
+ export declare const attachContainer: (dockerode: Dockerode, container: Dockerode.Container) => Promise<Readable>;
@@ -12,10 +12,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.attachContainer = void 0;
13
13
  const demux_stream_1 = require("../demux-stream");
14
14
  const logger_1 = require("../../../logger");
15
- const attachContainer = (container) => __awaiter(void 0, void 0, void 0, function* () {
15
+ const attachContainer = (dockerode, container) => __awaiter(void 0, void 0, void 0, function* () {
16
16
  try {
17
17
  const stream = (yield container.attach({ stream: true, stdout: true, stderr: true }));
18
- return (0, demux_stream_1.demuxStream)(stream);
18
+ return (0, demux_stream_1.demuxStream)(dockerode, stream);
19
19
  }
20
20
  catch (err) {
21
21
  logger_1.log.error(`Failed to attach to container ${container.id}: ${err}`);
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.containerLogs = void 0;
13
13
  const logger_1 = require("../../../logger");
14
14
  const demux_stream_1 = require("../demux-stream");
15
+ const docker_client_1 = require("../../docker-client");
15
16
  const containerLogs = (container) => __awaiter(void 0, void 0, void 0, function* () {
16
17
  try {
17
18
  const options = {
@@ -21,7 +22,7 @@ const containerLogs = (container) => __awaiter(void 0, void 0, void 0, function*
21
22
  };
22
23
  const stream = (yield container.logs(options));
23
24
  stream.socket.unref();
24
- return (0, demux_stream_1.demuxStream)(stream);
25
+ return (0, demux_stream_1.demuxStream)((yield (0, docker_client_1.dockerClient)()).dockerode, stream);
25
26
  }
26
27
  catch (err) {
27
28
  logger_1.log.error(`Failed to get container logs: ${err}`);
@@ -1,2 +1,3 @@
1
1
  import { Readable } from "stream";
2
- export declare const demuxStream: (stream: Readable) => Promise<Readable>;
2
+ import Dockerode from "dockerode";
3
+ export declare const demuxStream: (dockerode: Dockerode, stream: Readable) => Promise<Readable>;
@@ -12,11 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.demuxStream = void 0;
13
13
  const stream_1 = require("stream");
14
14
  const logger_1 = require("../../logger");
15
- const docker_client_1 = require("../docker-client");
16
- const demuxStream = (stream) => __awaiter(void 0, void 0, void 0, function* () {
15
+ const demuxStream = (dockerode, stream) => __awaiter(void 0, void 0, void 0, function* () {
17
16
  try {
18
17
  const demuxedStream = new stream_1.PassThrough({ autoDestroy: true, encoding: "utf-8" });
19
- const { dockerode } = yield (0, docker_client_1.dockerClient)();
20
18
  dockerode.modem.demuxStream(stream, demuxedStream, demuxedStream);
21
19
  stream.on("end", () => demuxedStream.end());
22
20
  demuxedStream.on("close", () => {
@@ -1,3 +1,4 @@
1
+ import Dockerode from "dockerode";
1
2
  declare type DockerInfo = {
2
3
  serverVersion: number;
3
4
  operatingSystem: string;
@@ -6,5 +7,5 @@ declare type DockerInfo = {
6
7
  cpus: number;
7
8
  memory: number;
8
9
  };
9
- export declare const getDockerInfo: () => Promise<DockerInfo>;
10
+ export declare const getDockerInfo: (dockerode: Dockerode) => Promise<DockerInfo>;
10
11
  export {};
@@ -10,9 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getDockerInfo = void 0;
13
- const docker_client_1 = require("../docker-client");
14
- const getDockerInfo = () => __awaiter(void 0, void 0, void 0, function* () {
15
- const { dockerode } = yield (0, docker_client_1.dockerClient)();
13
+ const getDockerInfo = (dockerode) => __awaiter(void 0, void 0, void 0, function* () {
16
14
  const info = yield dockerode.info();
17
15
  return {
18
16
  serverVersion: info.ServerVersion,
@@ -23,7 +23,7 @@ const runInContainer = (dockerode, image, command) => __awaiter(void 0, void 0,
23
23
  logger_1.log.debug(`Creating container: ${image} with command: ${command.join(" ")}`);
24
24
  const container = yield dockerode.createContainer({ Image: image, Cmd: command, HostConfig: { AutoRemove: true } });
25
25
  logger_1.log.debug(`Attaching to container: ${container.id}`);
26
- const stream = yield (0, attach_container_1.attachContainer)(container);
26
+ const stream = yield (0, attach_container_1.attachContainer)(dockerode, container);
27
27
  const promise = new Promise((resolve) => {
28
28
  const interval = setInterval(() => __awaiter(void 0, void 0, void 0, function* () {
29
29
  const inspect = yield (0, inspect_container_1.inspectContainer)(container);
@@ -1 +1,2 @@
1
- export declare const logSystemDiagnostics: () => Promise<void>;
1
+ import Dockerode from "dockerode";
2
+ export declare const logSystemDiagnostics: (dockerode: Dockerode) => Promise<void>;
@@ -13,11 +13,11 @@ exports.logSystemDiagnostics = void 0;
13
13
  const logger_1 = require("./logger");
14
14
  const docker_compose_1 = require("./docker-compose/docker-compose");
15
15
  const get_info_1 = require("./docker/functions/get-info");
16
- const logSystemDiagnostics = () => __awaiter(void 0, void 0, void 0, function* () {
16
+ const logSystemDiagnostics = (dockerode) => __awaiter(void 0, void 0, void 0, function* () {
17
17
  logger_1.log.debug("Fetching system diagnostics");
18
18
  const info = {
19
19
  node: getNodeInfo(),
20
- docker: yield (0, get_info_1.getDockerInfo)(),
20
+ docker: yield (0, get_info_1.getDockerInfo)(dockerode),
21
21
  dockerCompose: yield getDockerComposeInfo(),
22
22
  };
23
23
  logger_1.log.debug(`System diagnostics: ${JSON.stringify(info)}`);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "testcontainers",
3
3
  "author": "Cristian Greco",
4
- "version": "8.13.1-beta.2",
4
+ "version": "8.13.1-beta.5",
5
5
  "main": "dist/index",
6
6
  "types": "dist/index",
7
7
  "keywords": [