Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,52 @@ updates:
patterns:
- "*"

- package-ecosystem: "docker"
directories:
- "/packages/modules/arangodb"
- "/packages/modules/azurecosmosdb"
- "/packages/modules/azurite"
- "/packages/modules/cassandra"
- "/packages/modules/chromadb"
- "/packages/modules/clickhouse"
- "/packages/modules/cockroachdb"
- "/packages/modules/couchbase"
- "/packages/modules/elasticsearch"
- "/packages/modules/etcd"
- "/packages/modules/gcloud"
- "/packages/modules/hivemq"
- "/packages/modules/k3s"
- "/packages/modules/kafka"
- "/packages/modules/localstack"
- "/packages/modules/mariadb"
- "/packages/modules/minio"
- "/packages/modules/mockserver"
- "/packages/modules/mongodb"
- "/packages/modules/mssqlserver"
- "/packages/modules/mysql"
- "/packages/modules/nats"
- "/packages/modules/neo4j"
- "/packages/modules/ollama"
- "/packages/modules/postgresql"
- "/packages/modules/qdrant"
- "/packages/modules/rabbitmq"
- "/packages/modules/redis"
- "/packages/modules/redpanda"
- "/packages/modules/scylladb"
- "/packages/modules/selenium"
- "/packages/modules/toxiproxy"
- "/packages/modules/valkey"
- "/packages/modules/weaviate"
schedule:
interval: "weekly"
labels:
- "dependencies"
- "docker"
groups:
dependencies:
patterns:
- "*"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
Expand Down
1 change: 1 addition & 0 deletions packages/modules/arangodb/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM arangodb:3.10.0
3 changes: 2 additions & 1 deletion packages/modules/arangodb/src/arangodb-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { Database } from "arangojs";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { ArangoDBContainer } from "./arangodb-container";

const IMAGE = "arangodb:3.10.0";
const IMAGE = getImage(__dirname);

describe("ArangoDB", { timeout: 180_000 }, () => {
// connect {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/azurecosmosdb/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-EN20250228
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { CosmosClient, PartitionKeyKind } from "@azure/cosmos";
import https from "node:https";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { AzureCosmosDbEmulatorContainer } from "./azure-cosmosdb-emulator-container";

const IMAGE = "mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-EN20250228";
const IMAGE = getImage(__dirname);

describe("AzureCosmosDbEmulatorContainer", { timeout: 180_000 }, async () => {
it("should set https protocol", async () => {
Expand Down
1 change: 0 additions & 1 deletion packages/modules/azurecosmosdb/tsconfig.build.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"extends": "./tsconfig.json",
"exclude": [
"build",
"jest.config.ts",
"src/**/*.test.ts"
],
"references": [
Expand Down
3 changes: 1 addition & 2 deletions packages/modules/azurecosmosdb/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
}
},
"exclude": [
"build",
"jest.config.ts"
"build"
],
"references": [
{
Expand Down
1 change: 1 addition & 0 deletions packages/modules/azurite/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mcr.microsoft.com/azure-storage/azurite:3.34.0
3 changes: 2 additions & 1 deletion packages/modules/azurite/src/azurite-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { TableClient, TableEntity } from "@azure/data-tables";
import { BlobServiceClient, StorageSharedKeyCredential } from "@azure/storage-blob";
import { QueueServiceClient } from "@azure/storage-queue";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { AzuriteContainer } from "./azurite-container";

const IMAGE = "mcr.microsoft.com/azure-storage/azurite:3.34.0";
const IMAGE = getImage(__dirname);

describe("Azurite", { timeout: 240_000 }, () => {
// uploadAndDownloadBlob {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/cassandra/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM cassandra:5.0.2
3 changes: 2 additions & 1 deletion packages/modules/cassandra/src/cassandra-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { Client } from "cassandra-driver";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { CassandraContainer } from "./cassandra-container";

const IMAGE = "cassandra:5.0.2";
const IMAGE = getImage(__dirname);

describe("Cassandra", { timeout: 240_000 }, () => {
// connectWithDefaultCredentials {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/chromadb/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM chromadb/chroma:0.6.3
3 changes: 2 additions & 1 deletion packages/modules/chromadb/src/chromadb-container.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ import fs from "node:fs";
import os from "node:os";
import path from "node:path";
import { GenericContainer } from "testcontainers";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { ChromaDBContainer, StartedChromaDBContainer } from "./chromadb-container";

const IMAGE = "chromadb/chroma:0.6.3";
const IMAGE = getImage(__dirname);

describe("ChromaDB", { timeout: 360_000 }, () => {
// startContainer {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/clickhouse/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM clickhouse/clickhouse-server:25.3-alpine
3 changes: 2 additions & 1 deletion packages/modules/clickhouse/src/clickhouse-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { createClient } from "@clickhouse/client";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { ClickHouseContainer } from "./clickhouse-container";

const IMAGE = "clickhouse/clickhouse-server:25.3-alpine";
const IMAGE = getImage(__dirname);

interface ClickHouseQueryResponse<T> {
data: T[];
Expand Down
2 changes: 1 addition & 1 deletion packages/modules/clickhouse/tsconfig.build.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@
"path": "../../testcontainers"
}
]
}
}
18 changes: 15 additions & 3 deletions packages/modules/clickhouse/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
{
"extends": "../../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "build",
"rootDir": "src"
"paths": {
"testcontainers": [
"../../testcontainers/src"
]
}
},
"include": ["src/**/*"]
}
"exclude": [
"build"
],
"references": [
{
"path": "../../testcontainers"
}
]
}
1 change: 1 addition & 0 deletions packages/modules/cockroachdb/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM cockroachdb/cockroach:v24.3.5
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { Client } from "pg";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { CockroachDbContainer } from "./cockroachdb-container";

const IMAGE = "cockroachdb/cockroach:v24.3.5";
const IMAGE = getImage(__dirname);

describe("CockroachDbContainer", { timeout: 180_000 }, () => {
// connect {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/couchbase/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM couchbase/server:6.5.1
1 change: 1 addition & 0 deletions packages/modules/elasticsearch/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM elasticsearch:7.17.7
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { Client } from "@elastic/elasticsearch";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { ElasticsearchContainer } from "./elasticsearch-container";

const IMAGE = "elasticsearch:7.17.7";
const IMAGE = getImage(__dirname);

describe("ElasticsearchContainer", { timeout: 180_000 }, () => {
// createIndex {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/etcd/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM quay.io/coreos/etcd:v3.6.0
3 changes: 2 additions & 1 deletion packages/modules/etcd/src/etcd-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { Etcd3 } from "etcd3";
import { setTimeout } from "node:timers/promises";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { EtcdContainer, StartedEtcdContainer } from "./etcd-container";

const IMAGE = "quay.io/coreos/etcd:v3.6.0";
const IMAGE = getImage(__dirname);

describe("etcd", () => {
it("should construct a container", { timeout: 30_000 }, async () => {
Expand Down
3 changes: 3 additions & 0 deletions packages/modules/gcloud/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM gcr.io/google.com/cloudsdktool/cloud-sdk:517.0.0-emulators
FROM fsouza/fake-gcs-server:1.52.2
FROM ghcr.io/goccy/bigquery-emulator:0.6.6
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { BigQuery, TableSchema } from "@google-cloud/bigquery";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { BigQueryEmulatorContainer, StartedBigQueryEmulatorContainer } from "./bigquery-emulator-container";

const IMAGE = "ghcr.io/goccy/bigquery-emulator:0.6.6";
const IMAGE = getImage(__dirname, 2);

describe("BigQueryEmulatorContainer", { timeout: 240_000 }, () => {
it("should work using default version", async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { Storage } from "@google-cloud/storage";
import { setupServer } from "msw/node";
import { ReadableStream } from "node:stream/web";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { CloudStorageEmulatorContainer, StartedCloudStorageEmulatorContainer } from "./cloudstorage-emulator-container";

const IMAGE = "fsouza/fake-gcs-server:1.52.2";
const IMAGE = getImage(__dirname, 1);

async function getRequestBodyFromReadableStream(stream: ReadableStream<Uint8Array>): Promise<string> {
const decoder = new TextDecoder();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { Datastore } from "@google-cloud/datastore";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { DatastoreEmulatorContainer, StartedDatastoreEmulatorContainer } from "./datastore-emulator-container";

const IMAGE = "gcr.io/google.com/cloudsdktool/cloud-sdk:517.0.0-emulators";
const IMAGE = getImage(__dirname);

describe("DatastoreEmulatorContainer", { timeout: 240_000 }, () => {
// datastore4 {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import admin from "firebase-admin";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { FirestoreEmulatorContainer, StartedFirestoreEmulatorContainer } from "./firestore-emulator-container";

const IMAGE = "gcr.io/google.com/cloudsdktool/cloud-sdk:517.0.0-emulators";
const IMAGE = getImage(__dirname);

describe("FirestoreEmulatorContainer", { timeout: 240_000 }, () => {
afterEach(async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { PubSub } from "@google-cloud/pubsub";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { PubSubEmulatorContainer, StartedPubSubEmulatorContainer } from "./pubsub-emulator-container";

const IMAGE = "gcr.io/google.com/cloudsdktool/google-cloud-cli:517.0.0-emulators";
const IMAGE = getImage(__dirname);

describe("PubSubEmulatorContainer", { timeout: 240_000 }, () => {
it("should work using default version", async () => {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/hivemq/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM hivemq/hivemq-ce:2023.5
4 changes: 2 additions & 2 deletions packages/modules/hivemq/src/hivemq-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import mqtt from "mqtt";
import { expect } from "vitest";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { HiveMQContainer } from "./hivemq-container";

const IMAGE = "hivemq/hivemq-ce:2023.5";
const IMAGE = getImage(__dirname);

describe("HiveMQContainer", { timeout: 240_000 }, () => {
// connect {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/k3s/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM rancher/k3s:v1.31.2-k3s1
1 change: 1 addition & 0 deletions packages/modules/kafka/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM confluentinc/cp-kafka:7.2.2
3 changes: 2 additions & 1 deletion packages/modules/kafka/src/kafka-container.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ import fs from "fs";
import { Kafka, KafkaConfig, logLevel } from "kafkajs";
import path from "path";
import { GenericContainer, Network, StartedTestContainer } from "testcontainers";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { KafkaContainer } from "./kafka-container";

const IMAGE = "confluentinc/cp-kafka:7.2.2";
const IMAGE = getImage(__dirname);

describe("KafkaContainer", { timeout: 240_000 }, () => {
// connectBuiltInZK {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/kurrentdb/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM kurrentplatform/kurrentdb:25.0
3 changes: 2 additions & 1 deletion packages/modules/kurrentdb/src/kurrentdb-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { KurrentDBClient, StreamSubscription } from "@kurrent/kurrentdb-client";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { KurrentDbContainer } from "./kurrentdb-container";

const IMAGE = "kurrentplatform/kurrentdb:25.0";
const IMAGE = getImage(__dirname);

describe("KurrentDbContainer", { timeout: 240_000 }, () => {
// startContainer {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/localstack/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM localstack/localstack:2.2.0
3 changes: 2 additions & 1 deletion packages/modules/localstack/src/localstack-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { CreateBucketCommand, HeadBucketCommand, S3Client } from "@aws-sdk/client-s3";
import { GenericContainer, LABEL_TESTCONTAINERS_SESSION_ID, log, Network, StartedTestContainer } from "testcontainers";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { LOCALSTACK_PORT, LocalstackContainer } from "./localstack-container";

const IMAGE = "localstack/localstack:2.2.0";
const IMAGE = getImage(__dirname);

const runAwsCliAgainstDockerNetworkContainer = async (
command: string,
Expand Down
1 change: 1 addition & 0 deletions packages/modules/mariadb/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mariadb:11.5.2
3 changes: 2 additions & 1 deletion packages/modules/mariadb/src/mariadb-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import mariadb from "mariadb";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { MariaDbContainer } from "./mariadb-container";

const IMAGE = "mariadb:11.5.2";
const IMAGE = getImage(__dirname);

describe("MariaDb", { timeout: 240_000 }, () => {
// connect {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/minio/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM minio/minio:RELEASE.2024-12-13T22-19-12Z
3 changes: 2 additions & 1 deletion packages/modules/minio/src/minio-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import * as minio from "minio";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { MinioContainer } from "./minio-container";

const IMAGE = "minio/minio:RELEASE.2024-12-13T22-19-12Z";
const IMAGE = getImage(__dirname);

describe("MinIO", { timeout: 240_000 }, () => {
// connectWithDefaultCredentials {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/mockserver/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mockserver/mockserver:5.15.0
3 changes: 2 additions & 1 deletion packages/modules/mockserver/src/mockserver-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { mockServerClient } from "mockserver-client";
import superagent from "superagent";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { MockserverContainer } from "./mockserver-container";

const IMAGE = "mockserver/mockserver:5.15.0";
const IMAGE = getImage(__dirname);

describe("MockserverContainer", { timeout: 240_000 }, () => {
// startContainer {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/mongodb/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mongo:4.0.1
3 changes: 2 additions & 1 deletion packages/modules/mongodb/src/mongodb-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import mongoose from "mongoose";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { MongoDBContainer } from "./mongodb-container";

const IMAGE = "mongo:4.0.1";
const IMAGE = getImage(__dirname);

describe("MongodbContainer", { timeout: 240_000 }, () => {
// connect4 {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/mssqlserver/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mcr.microsoft.com/mssql/server:2022-CU13-ubuntu-22.04
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import sql, { config } from "mssql";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { MSSQLServerContainer } from "./mssqlserver-container";

const IMAGE = "mcr.microsoft.com/mssql/server:2022-CU13-ubuntu-22.04";
const IMAGE = getImage(__dirname);

describe("MSSqlServerContainer", { timeout: 180_000 }, () => {
// connect {
Expand Down
1 change: 1 addition & 0 deletions packages/modules/mysql/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mysql:8.0.31
Loading