Skip to content
Closed
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
2 changes: 2 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ It captures practical rules that prevent avoidable CI and PR churn.
- Tests should verify observable behavior changes, not only internal/config state.
- Example: for a security option, assert a real secure/insecure behavior difference.
- Test-only helper files under `src` (for example `*-test-utils.ts`) must be explicitly excluded from package `tsconfig.build.json` so they are not emitted into `build` and accidentally published.
- Compatibility tests for older major versions should live in separate version-specific test files (for example `<module>-5.test.ts`), instead of being mixed into the latest-image test file.
- For substantial changes to GitHub Actions, runner images, Node/npm versions, or release/publish automation, consider running the manual `Node.js Package` workflow as a dry-run publish sanity check.
- Select the PR branch as the workflow ref to test publish workflow changes before merging.
- Use a representative version input, for example the next planned semver.
Expand All @@ -55,6 +56,7 @@ It captures practical rules that prevent avoidable CI and PR churn.
4. Run required checks: `npm run format`, `npm run lint`, `npm run check-compiles` when touching `packages/testcontainers` APIs consumed by modules, and targeted tests.
5. Verify git diff only contains intended files.
6. Never commit, push, or post on GitHub (issues, PRs, or comments) without first sharing the proposed diff/message and getting explicit user approval.
- If `gh auth status` reports or times out on unrelated hosts/accounts, do not treat that as blocking. Confirm the GitHub host needed for the current repository is authenticated and has the required scopes.
7. Commit with focused message(s), using `git commit --no-verify`.
- Never bypass signing (for example, do not use `--no-gpg-sign`).
- If signing fails (for example, passphrase/key issues), stop and ask the user to resolve signing, then retry.
Expand Down
2 changes: 1 addition & 1 deletion packages/modules/clickhouse/Dockerfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM clickhouse/clickhouse-server:26.4-alpine
FROM clickhouse/clickhouse-server:26.5-alpine
4 changes: 2 additions & 2 deletions packages/modules/gcloud/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:568.0.0-emulators
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:569.0.0-emulators
FROM fsouza/fake-gcs-server:1.54.0
FROM ghcr.io/goccy/bigquery-emulator:0.6.6
FROM ghcr.io/goccy/bigquery-emulator:0.7.2
FROM gcr.io/cloud-spanner-emulator/emulator:1.5.53
2 changes: 1 addition & 1 deletion packages/modules/k3s/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
FROM rancher/k3s:v1.36.0-k3s1
FROM rancher/k3s:v1.36.1-k3s1
FROM rancher/kubectl:v1.36.0
2 changes: 1 addition & 1 deletion packages/modules/localstack/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
FROM localstack/localstack:4.14.0
FROM amazon/aws-cli:2.34.48
FROM amazon/aws-cli:2.34.53
2 changes: 1 addition & 1 deletion packages/modules/mockserver/Dockerfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM mockserver/mockserver:5.15.0
FROM mockserver/mockserver:6.0.0
30 changes: 30 additions & 0 deletions packages/modules/mockserver/src/mockserver-5.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { mockServerClient } from "mockserver-client";
import superagent from "superagent";
import { MockserverContainer } from "./mockserver-container";

const IMAGE = "mockserver/mockserver:5.15.0";

describe("MockserverContainer 5", { timeout: 240_000 }, () => {
it("should start and accept mocks", async () => {
await using container = await new MockserverContainer(IMAGE).start();

const client = mockServerClient(container.getHost(), container.getMockserverPort());
await client.mockAnyResponse({
httpRequest: {
method: "GET",
path: "/foo",
},
httpResponse: {
body: {
string: "bar",
},
statusCode: 200,
},
});

const response = await superagent.get(`${container.getUrl()}/foo`);

expect(response.statusCode).toBe(200);
expect(response.text).toBe("bar");
});
});
8 changes: 6 additions & 2 deletions packages/modules/mockserver/src/mockserver-container.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { AbstractStartedContainer, GenericContainer, Wait } from "testcontainers";
import { AbstractStartedContainer, GenericContainer, Wait, WaitStrategy } from "testcontainers";

export class StartedMockserverContainer extends AbstractStartedContainer {
getMockserverPort(): number {
Expand All @@ -20,12 +20,16 @@ export class MockserverContainer extends GenericContainer {
constructor(image: string) {
super(image);

this.withWaitStrategy(Wait.forAll([Wait.forLogMessage(/started on port: 1080/)])).withStartupTimeout(120_000);
this.withStartupTimeout(120_000);
}

override async start(): Promise<StartedMockserverContainer> {
this.withExposedPorts(MOCKSERVER_PORT);

return new StartedMockserverContainer(await super.start());
}

protected override getDefaultWaitStrategy(): WaitStrategy {
return Wait.forLogMessage(/started on port: 1080/);
}
}
2 changes: 1 addition & 1 deletion packages/modules/nats/Dockerfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM nats:2.14.0-alpine
FROM nats:2.14.1-alpine
2 changes: 1 addition & 1 deletion packages/modules/qdrant/Dockerfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM qdrant/qdrant:v1.18.0
FROM qdrant/qdrant:v1.18.1
2 changes: 1 addition & 1 deletion packages/modules/redpanda/Dockerfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM docker.io/redpandadata/redpanda:v26.1.8
FROM docker.io/redpandadata/redpanda:v26.1.9
4 changes: 2 additions & 2 deletions packages/modules/selenium/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM selenium/standalone-chrome:147.0
FROM selenium/standalone-chrome:148.0
FROM seleniarm/standalone-chromium:124.0
FROM selenium/standalone-firefox:149.0
FROM selenium/standalone-firefox:151.0
FROM seleniarm/standalone-firefox:125.0
2 changes: 1 addition & 1 deletion packages/modules/valkey/Dockerfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM valkey/valkey:9.0
FROM valkey/valkey:9.1
2 changes: 1 addition & 1 deletion packages/modules/vault/Dockerfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM hashicorp/vault:1.21.4
FROM hashicorp/vault:2.0.1
Loading