Class CassandraContainer
- All Implemented Interfaces:
AutoCloseable,org.testcontainers.containers.Container<CassandraContainer>,org.testcontainers.containers.ContainerState,org.testcontainers.containers.traits.LinkableContainer,org.testcontainers.containers.wait.strategy.WaitStrategyTarget,org.testcontainers.lifecycle.Startable
Supported image: cassandra
Exposed ports: 9042
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.testcontainers.containers.Container
org.testcontainers.containers.Container.ExecResult -
Field Summary
Fields inherited from class org.testcontainers.containers.GenericContainer
CONTAINER_RUNNING_TIMEOUT_SEC, dependencies, dockerClient, INTERNAL_HOST_HOSTNAME, waitStrategyFields inherited from interface org.testcontainers.containers.ContainerState
STATE_HEALTHY -
Constructor Summary
ConstructorsConstructorDescriptionCassandraContainer(String dockerImageName) CassandraContainer(org.testcontainers.utility.DockerImageName dockerImageName) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidcontainerIsStarted(com.github.dockerjava.api.command.InspectContainerResponse containerInfo) Retrieve anInetSocketAddressfor connecting to the Cassandra container via the driver.Retrieve the Local Datacenter for connecting to the Cassandra container via the driver.Get passwordGet usernamewithConfigurationOverride(String configLocation) Initialize Cassandra with the custom overridden Cassandra configurationwithInitScript(String initScriptPath) Initialize Cassandra with init CQL scriptConfigure secured connection (TLS) when required by the Cassandra configuration (i.e.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, getLivenessCheckPortNumbers, 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, waitUntilContainerStarted, 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, withWorkingDirectoryMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.testcontainers.containers.Container
addFileSystemBind, followOutput, followOutput, self, withEnv, withFileSystemBindMethods 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, isRunningMethods inherited from interface org.testcontainers.lifecycle.Startable
close
-
Constructor Details
-
CassandraContainer
-
CassandraContainer
public CassandraContainer(org.testcontainers.utility.DockerImageName dockerImageName)
-
-
Method Details
-
configure
protected void configure()- Overrides:
configurein classorg.testcontainers.containers.GenericContainer<CassandraContainer>
-
containerIsStarted
protected void containerIsStarted(com.github.dockerjava.api.command.InspectContainerResponse containerInfo) - Overrides:
containerIsStartedin classorg.testcontainers.containers.GenericContainer<CassandraContainer>
-
withConfigurationOverride
Initialize Cassandra with the custom overridden Cassandra configurationBe aware, that Docker effectively replaces all /etc/cassandra content with the content of config location, so if Cassandra.yaml in configLocation is absent or corrupted, then Cassandra just won't launch.
- Parameters:
configLocation- relative classpath with the directory that contains cassandra.yaml and other configuration files- Returns:
- The updated
CassandraContainer.
-
withInitScript
Initialize Cassandra with init CQL scriptCQL script will be applied after container is started (see using WaitStrategy).
- Parameters:
initScriptPath- relative classpath resource- Returns:
- The updated
CassandraContainer.
-
withSsl
Configure secured connection (TLS) when required by the Cassandra configuration (i.e. cassandra.yaml file contains the propertyclient_encryption_options.optionalwith valuefalse).- Parameters:
clientCertFile- The client certificate required to execute CQL scripts.clientKeyFile- The client key required to execute CQL scripts.- Returns:
- The updated
CassandraContainer.
-
getUsername
Get usernameBy default, Cassandra has authenticator: AllowAllAuthenticator in cassandra.yaml If username and password need to be used, then authenticator should be set as PasswordAuthenticator (through custom Cassandra configuration) and through CQL with default cassandra-cassandra credentials user management should be modified
-
getPassword
Get passwordBy default, Cassandra has authenticator: AllowAllAuthenticator in cassandra.yaml If username and password need to be used, then authenticator should be set as PasswordAuthenticator (through custom Cassandra configuration) and through CQL with default cassandra-cassandra credentials user management should be modified
-
getContactPoint
Retrieve anInetSocketAddressfor connecting to the Cassandra container via the driver.- Returns:
- A InetSocketAddress representation of this Cassandra container's host and port.
-
getLocalDatacenter
Retrieve the Local Datacenter for connecting to the Cassandra container via the driver.- Returns:
- The configured local Datacenter name.
-