Skip to content

YugabyteDB Module

Note

This module is INCUBATING. While it is ready for use and operational in the current version of Testcontainers, it is possible that it may receive breaking changes in the future. See our contributing guidelines for more information on our incubating modules policy.

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"
)
ysqlContainer.start();

YCQL API

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

Adding this module to your project dependencies

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

testImplementation "org.testcontainers:yugabytedb:1.20.4"
<dependency>
    <groupId>org.testcontainers</groupId>
    <artifactId>yugabytedb</artifactId>
    <version>1.20.4</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.