testcontainers
Advanced tools
Comparing version 9.2.1 to 9.3.0
{ | ||
"name": "testcontainers", | ||
"author": "Cristian Greco", | ||
"version": "9.2.1", | ||
"version": "9.3.0", | ||
"main": "dist/src/index", | ||
@@ -6,0 +6,0 @@ "types": "dist/src/index", |
import { DockerImageName } from "../../../docker-image-name"; | ||
import Dockerode from "dockerode"; | ||
import { PortWithOptionalBinding } from "../../../port"; | ||
import { BindMount, Environment, ExtraHost, HealthCheck, Labels, TmpFs, Ulimits } from "../../types"; | ||
import { BindMount, Environment, ExtraHost, HealthCheck, Labels, ResourcesQuota, TmpFs, Ulimits } from "../../types"; | ||
export type CreateContainerOptions = { | ||
@@ -28,3 +28,4 @@ imageName: DockerImageName; | ||
workingDir?: string; | ||
resourcesQuota?: ResourcesQuota; | ||
}; | ||
export declare const createContainer: (options: CreateContainerOptions) => Promise<Dockerode.Container>; |
@@ -18,2 +18,3 @@ "use strict"; | ||
const createContainer = (options) => __awaiter(void 0, void 0, void 0, function* () { | ||
var _a, _b; | ||
try { | ||
@@ -46,2 +47,4 @@ logger_1.log.info(`Creating container for image: ${options.imageName}`); | ||
CapDrop: options.droppedCapabilities, | ||
Memory: (_a = options.resourcesQuota) === null || _a === void 0 ? void 0 : _a.memory, | ||
NanoCpus: (_b = options.resourcesQuota) === null || _b === void 0 ? void 0 : _b.cpu, | ||
}, | ||
@@ -48,0 +51,0 @@ }); |
@@ -31,2 +31,6 @@ /// <reference types="node" /> | ||
}; | ||
export type ResourcesQuota = { | ||
memory?: number; | ||
cpu?: number; | ||
}; | ||
export type HealthCheck = { | ||
@@ -33,0 +37,0 @@ test: ["CMD-SHELL", string] | ["CMD", ...string[]]; |
@@ -7,3 +7,3 @@ import archiver from "archiver"; | ||
import { WaitStrategy } from "../wait-strategy"; | ||
import { BindMount, ContentToCopy, Environment, ExtraHost, FileToCopy, HealthCheck, Labels, TmpFs, Ulimits } from "../docker/types"; | ||
import { BindMount, ContentToCopy, Environment, ExtraHost, FileToCopy, HealthCheck, Labels, TmpFs, Ulimits, ResourcesQuota } from "../docker/types"; | ||
import { InspectResult } from "../docker/functions/container/inspect-container"; | ||
@@ -40,2 +40,3 @@ import { GenericContainerBuilder } from "./generic-container-builder"; | ||
protected tarToCopy?: archiver.Archiver; | ||
protected resourcesQuota?: ResourcesQuota; | ||
private extraHosts; | ||
@@ -77,2 +78,3 @@ constructor(image: string); | ||
withWorkingDir(workingDir: string): this; | ||
withResourcesQuota({ memory, cpu }: ResourcesQuota): this; | ||
} |
@@ -101,2 +101,3 @@ "use strict"; | ||
workingDir: this.workingDir, | ||
resourcesQuota: this.resourcesQuota, | ||
}; | ||
@@ -303,3 +304,11 @@ if (this.reuse) { | ||
} | ||
withResourcesQuota({ memory, cpu }) { | ||
// Memory and CPU units from here: https://docs.docker.com/engine/api/v1.42/#tag/Container/operation/ContainerCreate | ||
// see Memory, NanoCpus parameters | ||
const ram = memory !== undefined ? memory * Math.pow(1024, 3) : undefined; | ||
const cpuQuota = cpu !== undefined ? cpu * Math.pow(10, 9) : undefined; | ||
this.resourcesQuota = { memory: ram, cpu: cpuQuota }; | ||
return this; | ||
} | ||
} | ||
exports.GenericContainer = GenericContainer; |
@@ -13,2 +13,3 @@ export { TestContainer, StartedTestContainer, StoppedTestContainer } from "./test-container"; | ||
export { PullPolicy, DefaultPullPolicy, AlwaysPullPolicy } from "./pull-policy"; | ||
export { AbstractStartedContainer } from "./modules/abstract-started-container"; | ||
export { PostgreSqlContainer, StartedPostgreSqlContainer } from "./modules/postgresql/postgresql-container"; | ||
@@ -15,0 +16,0 @@ export { KafkaContainer, StartedKafkaContainer } from "./modules/kafka/kafka-container"; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.StartedMongoDBContainer = exports.MongoDBContainer = exports.StartedNatsContainer = exports.NatsContainer = exports.StartedMySqlContainer = exports.MySqlContainer = exports.StartedElasticsearchContainer = exports.ElasticsearchContainer = exports.StartedArangoContainer = exports.ArangoDBContainer = exports.StartedNeo4jContainer = exports.Neo4jContainer = exports.StartedKafkaContainer = exports.KafkaContainer = exports.StartedPostgreSqlContainer = exports.PostgreSqlContainer = exports.AlwaysPullPolicy = exports.DefaultPullPolicy = exports.StartupCheckStrategy = exports.Wait = exports.StoppedNetwork = exports.StartedNetwork = exports.Network = exports.DownedDockerComposeEnvironment = exports.StoppedDockerComposeEnvironment = exports.StartedDockerComposeEnvironment = exports.DockerComposeEnvironment = exports.TestContainers = exports.GenericContainerBuilder = exports.GenericContainer = void 0; | ||
exports.StartedMongoDBContainer = exports.MongoDBContainer = exports.StartedNatsContainer = exports.NatsContainer = exports.StartedMySqlContainer = exports.MySqlContainer = exports.StartedElasticsearchContainer = exports.ElasticsearchContainer = exports.StartedArangoContainer = exports.ArangoDBContainer = exports.StartedNeo4jContainer = exports.Neo4jContainer = exports.StartedKafkaContainer = exports.KafkaContainer = exports.StartedPostgreSqlContainer = exports.PostgreSqlContainer = exports.AbstractStartedContainer = exports.AlwaysPullPolicy = exports.DefaultPullPolicy = exports.StartupCheckStrategy = exports.Wait = exports.StoppedNetwork = exports.StartedNetwork = exports.Network = exports.DownedDockerComposeEnvironment = exports.StoppedDockerComposeEnvironment = exports.StartedDockerComposeEnvironment = exports.DockerComposeEnvironment = exports.TestContainers = exports.GenericContainerBuilder = exports.GenericContainer = void 0; | ||
var generic_container_1 = require("./generic-container/generic-container"); | ||
@@ -29,2 +29,4 @@ Object.defineProperty(exports, "GenericContainer", { enumerable: true, get: function () { return generic_container_1.GenericContainer; } }); | ||
Object.defineProperty(exports, "AlwaysPullPolicy", { enumerable: true, get: function () { return pull_policy_1.AlwaysPullPolicy; } }); | ||
var abstract_started_container_1 = require("./modules/abstract-started-container"); | ||
Object.defineProperty(exports, "AbstractStartedContainer", { enumerable: true, get: function () { return abstract_started_container_1.AbstractStartedContainer; } }); | ||
var postgresql_container_1 = require("./modules/postgresql/postgresql-container"); | ||
@@ -31,0 +33,0 @@ Object.defineProperty(exports, "PostgreSqlContainer", { enumerable: true, get: function () { return postgresql_container_1.PostgreSqlContainer; } }); |
@@ -5,3 +5,3 @@ /// <reference types="node" /> | ||
import { Readable } from "stream"; | ||
export declare class AbstractStartedContainer { | ||
export declare class AbstractStartedContainer implements StartedTestContainer { | ||
protected readonly startedTestContainer: StartedTestContainer; | ||
@@ -8,0 +8,0 @@ constructor(startedTestContainer: StartedTestContainer); |
@@ -6,3 +6,3 @@ /// <reference types="node" /> | ||
import { Readable } from "stream"; | ||
import { ExecResult, ExtraHost, TmpFs, Labels, Ulimits, BindMount, FileToCopy, ContentToCopy, Environment } from "./docker/types"; | ||
import { ExecResult, ExtraHost, TmpFs, Labels, Ulimits, BindMount, FileToCopy, ContentToCopy, Environment, ResourcesQuota } from "./docker/types"; | ||
import { StartedNetwork } from "./network"; | ||
@@ -33,2 +33,3 @@ export interface TestContainer { | ||
withWorkingDir(workingDir: string): this; | ||
withResourcesQuota(resourcesQuota: ResourcesQuota): this; | ||
} | ||
@@ -35,0 +36,0 @@ export interface RestartOptions { |
{ | ||
"name": "testcontainers", | ||
"author": "Cristian Greco", | ||
"version": "9.2.1", | ||
"version": "9.3.0", | ||
"main": "dist/src/index", | ||
@@ -6,0 +6,0 @@ "types": "dist/src/index", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
274939
5784
7