Package org.apache.polaris.containerspec
Class ContainerSpecHelper
java.lang.Object
org.apache.polaris.containerspec.ContainerSpecHelper
Helper functionality when using testcontainers to resolve the "full" docker image name (name and
tag) via a
Dockerfile, which is kept up to date using Renovate.
Requires a file Dockerfile-<NAME>-version as a resource on the classpath in the
package of the given containerClass. <NAME> is replaced with the name
parameter passed to containerSpecHelper(String, Class).
Example
Given an example test code like the following.
package my.code;
import static org.apache.polaris.containerspec.ContainerSpecHelper.containerSpecHelper;
import org.testcontainers.utility.DockerImageName;
class MyTestCode {
void codeThatNeedsTheContainer() {
DockerImageName dockerImageName = containerSpecHelper("mongodb", MyTestCode.class)
.dockerImageName(null)
.asCompatibleSubstituteFor("mongo");
}
}
The above requires the file my/code/Dockerfile-mongodb-version to be on the classpath,
containing just the Docker FROM, as in a file
src/test/resources/my/code/Dockerfile-mongodb-version.
FROM docker.io/mongo:8.0.4
Such resource files following the Dockerfile syntax can then be version-managed with
Renovate.
-
Method Summary
Modifier and TypeMethodDescriptionClass<?> static ContainerSpecHelpercontainerSpecHelper(String name, Class<?> containerClass) org.testcontainers.utility.DockerImageNamedockerImageName(String explicitImageName) name()
-
Method Details
-
containerSpecHelper
-
name
-
containerClass
-
dockerImageName
-