Skip to content

Testing: Start crate from testcontainers instead of cratedb-toolkit - #158

Merged
florinutz merged 3 commits into
mainfrom
flo/157/testcontainers-upstream
Oct 15, 2026
Merged

florinutz merged 3 commits into
mainfrom
flo/157/testcontainers-upstream

Conversation

@florinutz

@florinutz florinutz commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

commons-codec's tests start crate through cratedb-toolkit, and the toolkit's dynamodb, kinesis and mongodb extras depend on commons-codec, so a toolkit release that fails to install breaks this CI with nothing changed here (#157, crate/cratedb-toolkit#913).

The fixture now starts crate from the CrateDBContainer class of testcontainers, through a small CrateDBTestAdapter in tests/cratedb.py that holds the SQL helpers the tests use. So the test extra installs testcontainers[cratedb]>=4.15 instead of cratedb-toolkit[testing]. The fixture runs the crate version in CRATEDB_VERSION, nightly by default. A released version comes from the official crate:<version> image, because the release tags of crate/crate are amd64-only. testcontainers 4.15 needs Python 3.10, so the test extra no longer installs on 3.8 and 3.9, and commons-codec drops both, which are past their end of life.

One test (test_normalize_list_of_objects) gets a new expectation, because crate returns sub-columns whose value is null since 5.10.13 and 6.0.3; earlier versions dropped them as a bug. No CI job ran this test: the job that selects it did not install tikray, so the old expectation went unnoticed. The vanilla job now installs tikray.

Closes #157.

testcontainers 4.15, the first release with a CrateDB container, needs
Python 3.10, and both 3.8 and 3.9 are past their end of life.
@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e814a309-4d6d-4ac9-b89c-61ad85fc646e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@florinutz florinutz self-assigned this Oct 9, 2026
@florinutz
florinutz marked this pull request as ready for review October 9, 2026 17:41
@florinutz
florinutz requested a review from bgunebakan October 9, 2026 17:41
The `cratedb` extra of testcontainers carries httpx, which its container
module imports.
crate returns sub-columns whose value is null since 5.10.13 and 6.0.3.
@florinutz
florinutz force-pushed the flo/157/testcontainers-upstream branch from bd729a2 to 096fcf7 Compare October 9, 2026 18:49

@bgunebakan bgunebakan left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, Thank you!

@florinutz
florinutz merged commit ce759e3 into main Oct 15, 2026
19 checks passed
@florinutz
florinutz deleted the flo/157/testcontainers-upstream branch October 15, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tests depend on cratedb-toolkit, which depends on this package

2 participants