Class YugabyteDBYSQLContainer

java.lang.Object
org.testcontainers.containers.GenericContainer<SELF>
org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
org.testcontainers.containers.YugabyteDBYSQLContainer
All Implemented Interfaces:
AutoCloseable, org.testcontainers.containers.Container<YugabyteDBYSQLContainer>, org.testcontainers.containers.ContainerState, org.testcontainers.containers.traits.LinkableContainer, org.testcontainers.containers.wait.strategy.WaitStrategyTarget, org.testcontainers.lifecycle.Startable

public class YugabyteDBYSQLContainer extends org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
Testcontainers implementation for YugabyteDB YSQL API.

Supported image: yugabytedb/yugabyte

Exposed ports:

  • YSQL: 5433
  • Master dashboard: 7000
  • Tserver dashboard: 9000
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.testcontainers.containers.JdbcDatabaseContainer

    org.testcontainers.containers.JdbcDatabaseContainer.NoDriverFoundException

    Nested classes/interfaces inherited from interface org.testcontainers.containers.Container

    org.testcontainers.containers.Container.ExecResult
  • Field Summary

    Fields inherited from class org.testcontainers.containers.JdbcDatabaseContainer

    parameters, urlParameters

    Fields inherited from class org.testcontainers.containers.GenericContainer

    CONTAINER_RUNNING_TIMEOUT_SEC, dependencies, dockerClient, INTERNAL_HOST_HOSTNAME, waitStrategy

    Fields inherited from interface org.testcontainers.containers.ContainerState

    STATE_HEALTHY
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    YugabyteDBYSQLContainer(org.testcontainers.utility.DockerImageName imageName)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Configures the environment variables.
     
     
     
     
     
     
     
    protected void
     
    Setting this would create the keyspace
    withPassword(String password)
    Setting this along with withUsername(String) would enable authentication
    withUsername(String username)
    Setting this would create the custom user role

    Methods inherited from class org.testcontainers.containers.JdbcDatabaseContainer

    addParameter, constructUrlForConnection, constructUrlParameters, constructUrlParameters, containerIsStarted, createConnection, createConnection, getConnectTimeoutSeconds, getDatabaseDelegate, getJdbcDriverInstance, getStartupTimeoutSeconds, optionallyMapResourceParameterAsVolume, optionallyMapResourceParameterAsVolume, runInitScriptIfRequired, setParameters, withConnectTimeoutSeconds, withInitScript, withInitScripts, withInitScripts, withStartupTimeoutSeconds, withUrlParam

    Methods inherited from class org.testcontainers.containers.GenericContainer

    addEnv, addExposedPort, addExposedPorts, addFileSystemBind, addFixedExposedPort, addFixedExposedPort, addLink, canBeReused, containerIsCreated, containerIsStarted, containerIsStarting, containerIsStarting, containerIsStopped, containerIsStopping, copyFileFromContainer, createVolumeDirectory, dependsOn, dependsOn, dependsOn, doStart, equals, getBinds, getCommandParts, getContainerId, getContainerInfo, getContainerName, getCopyToFileContainerPathMap, getCreateContainerCmdModifiers, getDependencies, getDockerClient, getDockerImageName, getEnv, getEnvMap, getExposedPorts, getExtraHosts, getImage, getIpAddress, getLabels, getLinkedContainers, getLivenessCheckPort, getLivenessCheckPorts, getLogConsumers, getNetwork, getNetworkAliases, getNetworkMode, getPortBindings, getShmSize, getStartupAttempts, getStartupCheckStrategy, getTestHostIpAddress, getTmpFsMapping, getVolumesFroms, getWaitStrategy, getWorkingDirectory, hashCode, isHostAccessible, isPrivilegedMode, isShouldBeReused, logger, setBinds, setCommand, setCommand, setCommandParts, setContainerDef, setCopyToFileContainerPathMap, setDockerImageName, setEnv, setExposedPorts, setExtraHosts, setHostAccessible, setImage, setLabels, setLinkedContainers, setLogConsumers, setNetwork, setNetworkAliases, setNetworkMode, setPortBindings, setPrivilegedMode, setShmSize, setStartupAttempts, setStartupCheckStrategy, setTmpFsMapping, setVolumesFroms, setWaitStrategy, setWorkingDirectory, start, stop, toString, waitingFor, withAccessToHost, withClasspathResourceMapping, withClasspathResourceMapping, withCommand, withCommand, withCopyFileToContainer, withCopyToContainer, withCreateContainerCmdModifier, withEnv, withEnv, withExposedPorts, withExtraHost, withFileSystemBind, withImagePullPolicy, withLabel, withLabels, withLogConsumer, withMinimumRunningDuration, withNetwork, withNetworkAliases, withNetworkMode, withPrivilegedMode, withReuse, withSharedMemorySize, withStartupAttempts, withStartupCheckStrategy, withStartupTimeout, withTmpFs, withVolumesFrom, withWorkingDirectory

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.testcontainers.containers.Container

    addFileSystemBind, followOutput, followOutput, self, withEnv, withFileSystemBind

    Methods inherited from interface org.testcontainers.containers.ContainerState

    copyFileFromContainer, copyFileToContainer, copyFileToContainer, execInContainer, execInContainer, execInContainer, execInContainer, execInContainerWithUser, execInContainerWithUser, getBoundPortNumbers, getContainerIpAddress, getCurrentContainerInfo, getFirstMappedPort, getHost, getLogs, getLogs, getMappedPort, isCreated, isHealthy, isRunning

    Methods inherited from interface org.testcontainers.containers.traits.LinkableContainer

    getContainerName

    Methods inherited from interface org.testcontainers.lifecycle.Startable

    close
  • Constructor Details

    • YugabyteDBYSQLContainer

      public YugabyteDBYSQLContainer(String imageName)
      Parameters:
      imageName - image name
    • YugabyteDBYSQLContainer

      public YugabyteDBYSQLContainer(org.testcontainers.utility.DockerImageName imageName)
      Parameters:
      imageName - image name
  • Method Details

    • getLivenessCheckPortNumbers

      public Set<Integer> getLivenessCheckPortNumbers()
      Specified by:
      getLivenessCheckPortNumbers in interface org.testcontainers.containers.wait.strategy.WaitStrategyTarget
      Overrides:
      getLivenessCheckPortNumbers in class org.testcontainers.containers.GenericContainer<YugabyteDBYSQLContainer>
    • configure

      protected void configure()
      Configures the environment variables. Setting up these variables would create the custom objects. Setting withDatabaseName(String), withUsername(String), withPassword(String) these parameters will initialize the database with those custom values
      Overrides:
      configure in class org.testcontainers.containers.GenericContainer<YugabyteDBYSQLContainer>
    • getDriverClassName

      public String getDriverClassName()
      Specified by:
      getDriverClassName in class org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
    • getJdbcUrl

      public String getJdbcUrl()
      Specified by:
      getJdbcUrl in class org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
    • getDatabaseName

      public String getDatabaseName()
      Overrides:
      getDatabaseName in class org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
    • getUsername

      public String getUsername()
      Specified by:
      getUsername in class org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
    • getPassword

      public String getPassword()
      Specified by:
      getPassword in class org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
    • getTestQueryString

      public String getTestQueryString()
      Specified by:
      getTestQueryString in class org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
    • withDatabaseName

      public YugabyteDBYSQLContainer withDatabaseName(String database)
      Setting this would create the keyspace
      Overrides:
      withDatabaseName in class org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
      Parameters:
      database - database name
      Returns:
      YugabyteDBYSQLContainer instance
    • withUsername

      public YugabyteDBYSQLContainer withUsername(String username)
      Setting this would create the custom user role
      Overrides:
      withUsername in class org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
      Parameters:
      username - user name
      Returns:
      YugabyteDBYSQLContainer instance
    • withPassword

      public YugabyteDBYSQLContainer withPassword(String password)
      Setting this along with withUsername(String) would enable authentication
      Overrides:
      withPassword in class org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>
      Parameters:
      password - password
      Returns:
      YugabyteDBYSQLContainer instance
    • waitUntilContainerStarted

      protected void waitUntilContainerStarted()
      Overrides:
      waitUntilContainerStarted in class org.testcontainers.containers.JdbcDatabaseContainer<YugabyteDBYSQLContainer>