Skip to content

test(jdbc): add jOOQ integration smoke tests - #256

Merged
magnusp merged 1 commit into
mainfrom
test/jooq-itests
Oct 30, 2026
Merged

magnusp merged 1 commit into
mainfrom
test/jooq-itests

Conversation

@magnusp

@magnusp magnusp commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Summary

Promotes the jOOQ smoke prototype into libsql-jdbc as a Failsafe integration test.

  • JooqIT drives the in-tree driver through jOOQ: CRUD, insert/update/delete RETURNING, JDBC batch, transaction rollback, and runtime code generation with GenerationTool.
  • JooqSqldSupport starts the pinned sqld Testcontainer and creates the schema over Hrana, so a broken metadata path cannot hide tables from code generation.
  • Code generation runs at test time, so there is no build-time database dependency and no generated sources checked in.
  • Two jOOQ/driver gaps are pinned as explicit tests:
    • auto-commit generated identities are unavailable because jOOQ reads _rowid_ = last_insert_rowid() on a fresh Hrana stream;
    • SQLite (libSQL) is not auto-detected as SQLDialect.SQLITE.
  • Test-only dependencies: jOOQ 3.21.9, Testcontainers, and Failsafe *IT wiring. mvn test stays unit-only.
  • The module copies the shared Docker config into target/docker-config and sets DOCKER_CONFIG for Failsafe, so sandboxed runs work without a shell override.

Test plan

  • ./mvnw -pl libsql-jdbc -am -Dit.test=JooqIT verify — 7 tests pass
  • ./mvnw spotless:check
  • ./mvnw clean verify — all modules pass (jOOQ 7, integration tests 192, conformance 271)

@magnusp
magnusp merged commit 3077dde into main Oct 30, 2026
6 checks passed
@magnusp
magnusp deleted the test/jooq-itests branch October 30, 2026 23:30
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.

1 participant