testcontainers 11.1.0 → 11.2.1
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/version.d.ts +1 -1
- package/build/version.js +1 -1
- package/build/wait-strategies/http-wait-strategy.d.ts +0 -8
- package/build/wait-strategies/http-wait-strategy.js +2 -25
- package/build/wait-strategies/http-wait-strategy.js.map +1 -1
- package/build/wait-strategies/utils/undici-response-parser.d.ts +9 -0
- package/build/wait-strategies/utils/undici-response-parser.js +31 -0
- package/build/wait-strategies/utils/undici-response-parser.js.map +1 -0
- package/package.json +4 -4
package/build/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "11.1
|
|
1
|
+
export declare const LIB_VERSION = "11.2.1";
|
package/build/version.js
CHANGED
|
@@ -28,13 +28,5 @@ export declare class HttpWaitStrategy extends AbstractWaitStrategy {
|
|
|
28
28
|
allowInsecure(): this;
|
|
29
29
|
waitUntilReady(container: Dockerode.Container, boundPorts: BoundPorts): Promise<void>;
|
|
30
30
|
private handleContainerExit;
|
|
31
|
-
/**
|
|
32
|
-
* Converts an undici response to a fetch response.
|
|
33
|
-
* This is necessary because node's fetch does not support disabling SSL validation (https://github.com/orgs/nodejs/discussions/44038).
|
|
34
|
-
*
|
|
35
|
-
* @param undiciResponse The undici response to convert.
|
|
36
|
-
* @returns The fetch response.
|
|
37
|
-
*/
|
|
38
|
-
private undiciResponseToFetchResponse;
|
|
39
31
|
private getAgent;
|
|
40
32
|
}
|
|
@@ -4,6 +4,7 @@ exports.HttpWaitStrategy = void 0;
|
|
|
4
4
|
const undici_1 = require("undici");
|
|
5
5
|
const common_1 = require("../common");
|
|
6
6
|
const container_runtime_1 = require("../container-runtime");
|
|
7
|
+
const undici_response_parser_1 = require("./utils/undici-response-parser");
|
|
7
8
|
const wait_strategy_1 = require("./wait-strategy");
|
|
8
9
|
class HttpWaitStrategy extends wait_strategy_1.AbstractWaitStrategy {
|
|
9
10
|
path;
|
|
@@ -74,7 +75,7 @@ class HttpWaitStrategy extends wait_strategy_1.AbstractWaitStrategy {
|
|
|
74
75
|
return;
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
|
-
return
|
|
78
|
+
return (0, undici_response_parser_1.undiciResponseToFetchResponse)(await (0, undici_1.request)(url, {
|
|
78
79
|
method: this.method,
|
|
79
80
|
signal: AbortSignal.timeout(this.readTimeoutMs),
|
|
80
81
|
headers: this.headers,
|
|
@@ -131,30 +132,6 @@ class HttpWaitStrategy extends wait_strategy_1.AbstractWaitStrategy {
|
|
|
131
132
|
common_1.log.error(message, { containerId: container.id });
|
|
132
133
|
throw new Error(message);
|
|
133
134
|
}
|
|
134
|
-
/**
|
|
135
|
-
* Converts an undici response to a fetch response.
|
|
136
|
-
* This is necessary because node's fetch does not support disabling SSL validation (https://github.com/orgs/nodejs/discussions/44038).
|
|
137
|
-
*
|
|
138
|
-
* @param undiciResponse The undici response to convert.
|
|
139
|
-
* @returns The fetch response.
|
|
140
|
-
*/
|
|
141
|
-
undiciResponseToFetchResponse(undiciResponse) {
|
|
142
|
-
const headers = new Headers();
|
|
143
|
-
for (const [key, value] of Object.entries(undiciResponse.headers)) {
|
|
144
|
-
if (Array.isArray(value)) {
|
|
145
|
-
for (const v of value) {
|
|
146
|
-
headers.append(key, v);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
else if (value !== undefined) {
|
|
150
|
-
headers.set(key, value);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
return new Response(undiciResponse.body, {
|
|
154
|
-
status: undiciResponse.statusCode,
|
|
155
|
-
headers,
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
135
|
getAgent() {
|
|
159
136
|
if (this._allowInsecure) {
|
|
160
137
|
return new undici_1.Agent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-wait-strategy.js","sourceRoot":"","sources":["../../src/wait-strategies/http-wait-strategy.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"http-wait-strategy.js","sourceRoot":"","sources":["../../src/wait-strategies/http-wait-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Dispatcher } from "undici";
|
|
2
|
+
/**
|
|
3
|
+
* Converts an undici response to a fetch response.
|
|
4
|
+
* This is necessary because node's fetch does not support disabling SSL validation (https://github.com/orgs/nodejs/discussions/44038).
|
|
5
|
+
*
|
|
6
|
+
* @param undiciResponse The undici response to convert.
|
|
7
|
+
* @returns The fetch response.
|
|
8
|
+
*/
|
|
9
|
+
export declare function undiciResponseToFetchResponse(undiciResponse: Dispatcher.ResponseData): Response;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.undiciResponseToFetchResponse = undiciResponseToFetchResponse;
|
|
4
|
+
const stream_1 = require("stream");
|
|
5
|
+
/**
|
|
6
|
+
* Converts an undici response to a fetch response.
|
|
7
|
+
* This is necessary because node's fetch does not support disabling SSL validation (https://github.com/orgs/nodejs/discussions/44038).
|
|
8
|
+
*
|
|
9
|
+
* @param undiciResponse The undici response to convert.
|
|
10
|
+
* @returns The fetch response.
|
|
11
|
+
*/
|
|
12
|
+
function undiciResponseToFetchResponse(undiciResponse) {
|
|
13
|
+
const headers = new Headers();
|
|
14
|
+
if (undiciResponse.headers) {
|
|
15
|
+
for (const [key, value] of Object.entries(undiciResponse.headers)) {
|
|
16
|
+
if (Array.isArray(value)) {
|
|
17
|
+
for (const v of value) {
|
|
18
|
+
headers.append(key, v);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
else if (value !== undefined) {
|
|
22
|
+
headers.set(key, value);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const status = undiciResponse.statusCode;
|
|
27
|
+
const hasNullBody = status === 204 || status === 205 || status === 304;
|
|
28
|
+
const responseBody = hasNullBody ? null : stream_1.Readable.toWeb(undiciResponse.body);
|
|
29
|
+
return new Response(responseBody, { status, headers });
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=undici-response-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undici-response-parser.js","sourceRoot":"","sources":["../../../src/wait-strategies/utils/undici-response-parser.ts"],"names":[],"mappings":";;AAUA,sEAmBC;AA7BD,mCAAkC;AAGlC;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAAC,cAAuC;IACnF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;IACvE,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAE9E,OAAO,IAAI,QAAQ,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AACzD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "testcontainers",
|
|
3
|
-
"version": "11.1
|
|
3
|
+
"version": "11.2.1",
|
|
4
4
|
"author": "Cristian Greco",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@balena/dockerignore": "^1.0.2",
|
|
34
|
-
"@types/dockerode": "^3.3.
|
|
34
|
+
"@types/dockerode": "^3.3.42",
|
|
35
35
|
"archiver": "^7.0.1",
|
|
36
36
|
"async-lock": "^1.4.1",
|
|
37
37
|
"byline": "^5.0.0",
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
"proper-lockfile": "^4.1.2",
|
|
43
43
|
"properties-reader": "^2.3.0",
|
|
44
44
|
"ssh-remote-port-forward": "^1.0.4",
|
|
45
|
-
"tar-fs": "^3.0
|
|
45
|
+
"tar-fs": "^3.1.0",
|
|
46
46
|
"tmp": "^0.2.3",
|
|
47
|
-
"undici": "^7.
|
|
47
|
+
"undici": "^7.11.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/archiver": "^6.0.3",
|