Skip to content

YugabyteDB Module

Testcontainers module for YugabyteDB

See Database containers for documentation and usage that is common to all database container types.

YugabyteDB supports two APIs.

  • Yugabyte Structured Query Language YSQL is a fully-relational API that is built by the PostgreSQL code
  • Yugabyte Cloud Query Language YCQL is a semi-relational SQL API that has its roots in the Cassandra Query Language

Usage example

YSQL API

final YugabyteDBYSQLContainer ysqlContainer = new YugabyteDBYSQLContainer(
    "yugabytedb/yugabyte:2.14.4.0-b26"
)

Testcontainers JDBC URL

jdbc:tc:yugabyte:2.14.4.0-b26:///databasename

See JDBC for documentation.

YCQL API

final YugabyteDBYCQLContainer ycqlContainer = new YugabyteDBYCQLContainer(
    "yugabytedb/yugabyte:2.14.4.0-b26"
)
    .withUsername("cassandra")
    .withPassword("cassandra")

Adding this module to your project dependencies

Add the following dependency to your pom.xml/build.gradle file:

testImplementation "org.testcontainers:yugabytedb:1.21.3"
<dependency>
    <groupId>org.testcontainers</groupId>
    <artifactId>yugabytedb</artifactId>
    <version>1.21.3</version>
    <scope>test</scope>
</dependency>

Hint

Adding this Testcontainers library JAR will not automatically add the Yugabytedb driver JAR to your project. You should ensure that your project has the Yugabytedb driver as a dependency, if you plan on using it. Refer to the driver page YSQL and YCQL for instructions.