fix(deps): update testcontainers-node monorepo to v11 (major) (#3250)

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
This commit is contained in:
homarr-renovate[bot]
2025-06-02 13:58:49 +02:00
committed by GitHub
parent ccd8a85e0f
commit 0d1e3a625a
7 changed files with 70 additions and 62 deletions

View File

@@ -47,7 +47,7 @@
"jsdom": "^26.1.0", "jsdom": "^26.1.0",
"prettier": "^3.5.3", "prettier": "^3.5.3",
"semantic-release": "^24.2.5", "semantic-release": "^24.2.5",
"testcontainers": "^10.28.0", "testcontainers": "^11.0.0",
"turbo": "^2.5.4", "turbo": "^2.5.4",
"typescript": "^5.8.3", "typescript": "^5.8.3",
"vite-tsconfig-paths": "^5.1.4", "vite-tsconfig-paths": "^5.1.4",

View File

@@ -46,7 +46,7 @@
"@homarr/server-settings": "workspace:^0.1.0", "@homarr/server-settings": "workspace:^0.1.0",
"@mantine/core": "^8.0.2", "@mantine/core": "^8.0.2",
"@paralleldrive/cuid2": "^2.2.2", "@paralleldrive/cuid2": "^2.2.2",
"@testcontainers/mysql": "^10.28.0", "@testcontainers/mysql": "^11.0.0",
"better-sqlite3": "^11.10.0", "better-sqlite3": "^11.10.0",
"dotenv": "^16.5.0", "dotenv": "^16.5.0",
"drizzle-kit": "^0.31.1", "drizzle-kit": "^0.31.1",

View File

@@ -9,7 +9,7 @@ import * as mysqlSchema from "../schema/mysql";
describe("Mysql Migration", () => { describe("Mysql Migration", () => {
test("should add all tables and keys specified in migration files", async () => { test("should add all tables and keys specified in migration files", async () => {
const mysqlContainer = await new MySqlContainer().start(); const mysqlContainer = await new MySqlContainer("mysql:latest").start();
const connection = mysql.createConnection({ const connection = mysql.createConnection({
host: mysqlContainer.getHost(), host: mysqlContainer.getHost(),

View File

@@ -64,26 +64,29 @@ describe("Home Assistant integration", () => {
const prepareHomeAssistantContainerAsync = async () => { const prepareHomeAssistantContainerAsync = async () => {
const homeAssistantContainer = createHomeAssistantContainer(); const homeAssistantContainer = createHomeAssistantContainer();
const startedContainer = await homeAssistantContainer.start(); const startedContainer = await homeAssistantContainer.start();
await startedContainer.exec(["unzip", "-o", "/tmp/config.zip", "-d", "/config"]); await startedContainer.exec(["unzip", "-o", "/tmp/config.zip", "-d", "/config"]);
await startedContainer.restart(); await startedContainer.restart();
return startedContainer; return startedContainer;
}; };
const createHomeAssistantContainer = () => { const createHomeAssistantContainer = () => {
return new GenericContainer(IMAGE_NAME) return (
.withCopyFilesToContainer([ new GenericContainer(IMAGE_NAME)
{ .withCopyFilesToContainer([
source: join(__dirname, "/volumes/home-assistant-config.zip"), {
target: "/tmp/config.zip", source: join(__dirname, "/volumes/home-assistant-config.zip"),
}, target: "/tmp/config.zip",
]) },
.withPrivilegedMode() ])
.withExposedPorts(8123) .withPrivilegedMode()
.withWaitStrategy(Wait.forHttp("/", 8123)); .withExposedPorts(8123)
// This has to be a page that is not redirected (or a status code has to be defined withStatusCode(statusCode))
.withWaitStrategy(Wait.forHttp("/onboarding.html", 8123))
);
}; };
const createHomeAssistantIntegration = (container: StartedTestContainer, apiKeyOverride?: string) => { const createHomeAssistantIntegration = (container: StartedTestContainer, apiKeyOverride?: string) => {
console.log("Creating Home Assistant integration...");
return new HomeAssistantIntegration({ return new HomeAssistantIntegration({
id: "1", id: "1",
decryptedSecrets: [ decryptedSecrets: [

View File

@@ -211,12 +211,15 @@ const createPiHoleIntegrationV5 = (container: StartedTestContainer, apiKey: stri
}; };
const createPiHoleV6Container = (password: string) => { const createPiHoleV6Container = (password: string) => {
return new GenericContainer("pihole/pihole:latest") return (
.withEnvironment({ new GenericContainer("pihole/pihole:latest")
FTLCONF_webserver_api_password: password, .withEnvironment({
}) FTLCONF_webserver_api_password: password,
.withExposedPorts(80) })
.withWaitStrategy(Wait.forHttp("/admin", 80)); .withExposedPorts(80)
// This has to be a page that is not redirected (or a status code has to be defined withStatusCode(statusCode))
.withWaitStrategy(Wait.forHttp("/admin/login", 80))
);
}; };
const createPiHoleIntegrationV6 = (container: StartedTestContainer, apiKey: string) => { const createPiHoleIntegrationV6 = (container: StartedTestContainer, apiKey: string) => {

View File

@@ -192,16 +192,19 @@ describe("Sabnzbd integration", () => {
}); });
const createSabnzbdContainer = () => { const createSabnzbdContainer = () => {
return new GenericContainer(IMAGE_NAME) return (
.withCopyFilesToContainer([ new GenericContainer(IMAGE_NAME)
{ .withCopyFilesToContainer([
source: join(__dirname, "/volumes/usenet/sabnzbd.ini"), {
target: "/config/sabnzbd.ini", source: join(__dirname, "/volumes/usenet/sabnzbd.ini"),
}, target: "/config/sabnzbd.ini",
]) },
.withExposedPorts(1212) ])
.withEnvironment({ PUID: "0", PGID: "0" }) .withExposedPorts(1212)
.withWaitStrategy(Wait.forHttp("/", 1212)); .withEnvironment({ PUID: "0", PGID: "0" })
// This has to be a page that is not redirected (or a status code has to be defined withStatusCode(statusCode))
.withWaitStrategy(Wait.forHttp("/sabnzbd/wizard/", 1212))
);
}; };
const createSabnzbdIntegration = (container: StartedTestContainer, apiKey: string) => { const createSabnzbdIntegration = (container: StartedTestContainer, apiKey: string) => {

63
pnpm-lock.yaml generated
View File

@@ -65,8 +65,8 @@ importers:
specifier: ^24.2.5 specifier: ^24.2.5
version: 24.2.5(typescript@5.8.3) version: 24.2.5(typescript@5.8.3)
testcontainers: testcontainers:
specifier: ^10.28.0 specifier: ^11.0.0
version: 10.28.0 version: 11.0.0
turbo: turbo:
specifier: ^2.5.4 specifier: ^2.5.4
version: 2.5.4 version: 2.5.4
@@ -1045,8 +1045,8 @@ importers:
specifier: ^2.2.2 specifier: ^2.2.2
version: 2.2.2 version: 2.2.2
'@testcontainers/mysql': '@testcontainers/mysql':
specifier: ^10.28.0 specifier: ^11.0.0
version: 10.28.0 version: 11.0.0
better-sqlite3: better-sqlite3:
specifier: ^11.10.0 specifier: ^11.10.0
version: 11.10.0 version: 11.10.0
@@ -3184,10 +3184,6 @@ packages:
resolution: {integrity: sha512-hgTjb7vHNXPiSSshAJSE6D5w2bMW6jWklj52B2SG5BI5GakkH14PxDiXHzyRZrJgVd2t1BEcA/aaM8eXazUHaA==} resolution: {integrity: sha512-hgTjb7vHNXPiSSshAJSE6D5w2bMW6jWklj52B2SG5BI5GakkH14PxDiXHzyRZrJgVd2t1BEcA/aaM8eXazUHaA==}
engines: {node: '>= 18'} engines: {node: '>= 18'}
'@fastify/busboy@2.1.1':
resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
engines: {node: '>=14'}
'@floating-ui/core@1.6.8': '@floating-ui/core@1.6.8':
resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
@@ -4280,8 +4276,8 @@ packages:
'@tanstack/virtual-core@3.11.2': '@tanstack/virtual-core@3.11.2':
resolution: {integrity: sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw==} resolution: {integrity: sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw==}
'@testcontainers/mysql@10.28.0': '@testcontainers/mysql@11.0.0':
resolution: {integrity: sha512-yZKe86Esg8mPyr957aSwdkmDqXH17vab5aUcDqwR/E2fZpZxLetwfvmoVP+V6TpQQNTYrVTyP5T+HPMgaZeIkA==} resolution: {integrity: sha512-DmvcShjr7tbikieevFYWK85MD+bVYNZIGvqvtM+tDEpXiejgJ8M3WDnrKf09XScEQ/3+NPOud4TBRU4L8+t88w==}
'@tiptap/core@2.12.0': '@tiptap/core@2.12.0':
resolution: {integrity: sha512-3qX8oGVKFFZzQ0vit+ZolR6AJIATBzmEmjAA0llFhWk4vf3v64p1YcXcJsOBsr5scizJu5L6RYWEFatFwqckRg==} resolution: {integrity: sha512-3qX8oGVKFFZzQ0vit+ZolR6AJIATBzmEmjAA0llFhWk4vf3v64p1YcXcJsOBsr5scizJu5L6RYWEFatFwqckRg==}
@@ -6001,8 +5997,8 @@ packages:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'} engines: {node: '>=8'}
docker-compose@0.24.8: docker-compose@1.2.0:
resolution: {integrity: sha512-plizRs/Vf15H+GCVxq2EUvyPK7ei9b/cVesHvjnX4xaXjM9spHe2Ytq0BitndFgvTJ3E3NljPNUEl7BAN43iZw==} resolution: {integrity: sha512-wIU1eHk3Op7dFgELRdmOYlPYS4gP8HhH1ZmZa13QZF59y0fblzFDFmKPhyc05phCy2hze9OEvNZAsoljrs+72w==}
engines: {node: '>= 6.0.0'} engines: {node: '>= 6.0.0'}
docker-modem@5.0.6: docker-modem@5.0.6:
@@ -9641,6 +9637,9 @@ packages:
tar-fs@3.0.8: tar-fs@3.0.8:
resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==} resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==}
tar-fs@3.0.9:
resolution: {integrity: sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==}
tar-stream@2.2.0: tar-stream@2.2.0:
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
@@ -9681,8 +9680,8 @@ packages:
resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==}
engines: {node: '>=18'} engines: {node: '>=18'}
testcontainers@10.28.0: testcontainers@11.0.0:
resolution: {integrity: sha512-1fKrRRCsgAQNkarjHCMKzBKXSJFmzNTiTbhb5E/j5hflRXChEtHvkefjaHlgkNUjfw92/Dq8LTgwQn6RDBFbMg==} resolution: {integrity: sha512-8zY2V+eovC6aylgMqMR3A7H+un2gqpqepbvBCnjo7QP2fpI0pJZhSus+A5TckHpF2CR2d1Zj/IQ5rNPW/HjS6g==}
text-decoder@1.2.0: text-decoder@1.2.0:
resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==} resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==}
@@ -10046,10 +10045,6 @@ packages:
undici-types@6.21.0: undici-types@6.21.0:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
undici@5.29.0:
resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==}
engines: {node: '>=14.0'}
undici@7.10.0: undici@7.10.0:
resolution: {integrity: sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==} resolution: {integrity: sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==}
engines: {node: '>=20.18.1'} engines: {node: '>=20.18.1'}
@@ -11337,8 +11332,6 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- encoding - encoding
'@fastify/busboy@2.1.1': {}
'@floating-ui/core@1.6.8': '@floating-ui/core@1.6.8':
dependencies: dependencies:
'@floating-ui/utils': 0.2.8 '@floating-ui/utils': 0.2.8
@@ -12767,9 +12760,9 @@ snapshots:
'@tanstack/virtual-core@3.11.2': {} '@tanstack/virtual-core@3.11.2': {}
'@testcontainers/mysql@10.28.0': '@testcontainers/mysql@11.0.0':
dependencies: dependencies:
testcontainers: 10.28.0 testcontainers: 11.0.0
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
- supports-color - supports-color
@@ -14678,7 +14671,7 @@ snapshots:
dependencies: dependencies:
path-type: 4.0.0 path-type: 4.0.0
docker-compose@0.24.8: docker-compose@1.2.0:
dependencies: dependencies:
yaml: 2.5.1 yaml: 2.5.1
@@ -19013,6 +19006,16 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
tar-fs@3.0.9:
dependencies:
pump: 3.0.2
tar-stream: 3.1.7
optionalDependencies:
bare-fs: 4.1.2
bare-path: 3.0.0
transitivePeerDependencies:
- bare-buffer
tar-stream@2.2.0: tar-stream@2.2.0:
dependencies: dependencies:
bl: 4.1.0 bl: 4.1.0
@@ -19058,23 +19061,23 @@ snapshots:
glob: 10.4.5 glob: 10.4.5
minimatch: 9.0.5 minimatch: 9.0.5
testcontainers@10.28.0: testcontainers@11.0.0:
dependencies: dependencies:
'@balena/dockerignore': 1.0.2 '@balena/dockerignore': 1.0.2
'@types/dockerode': 3.3.39 '@types/dockerode': 3.3.39
archiver: 7.0.1 archiver: 7.0.1
async-lock: 1.4.1 async-lock: 1.4.1
byline: 5.0.0 byline: 5.0.0
debug: 4.4.0 debug: 4.4.1
docker-compose: 0.24.8 docker-compose: 1.2.0
dockerode: 4.0.6 dockerode: 4.0.6
get-port: 7.1.0 get-port: 7.1.0
proper-lockfile: 4.1.2 proper-lockfile: 4.1.2
properties-reader: 2.3.0 properties-reader: 2.3.0
ssh-remote-port-forward: 1.0.4 ssh-remote-port-forward: 1.0.4
tar-fs: 3.0.8 tar-fs: 3.0.9
tmp: 0.2.3 tmp: 0.2.3
undici: 5.29.0 undici: 7.10.0
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
- supports-color - supports-color
@@ -19442,10 +19445,6 @@ snapshots:
undici-types@6.21.0: {} undici-types@6.21.0: {}
undici@5.29.0:
dependencies:
'@fastify/busboy': 2.1.1
undici@7.10.0: {} undici@7.10.0: {}
unicode-emoji-modifier-base@1.0.0: {} unicode-emoji-modifier-base@1.0.0: {}