in plugins/docker/base-image/src/integrationTest/java/co/elastic/gradle/dockerbase/MoreDockerBaseImageBuildPluginIT.java [368:412]
public void testSandboxIntegration() throws IOException {
helper.buildScript(String.format("""
import java.net.URL
import %s
plugins {
id("co.elastic.docker-base")
id("co.elastic.vault")
id("co.elastic.sandbox")
}
vault {
address.set("https://vault-ci-prod.elastic.dev")
auth {
ghTokenFile()
ghTokenEnv()
tokenEnv()
roleAndSecretEnv()
}
}
val creds = vault.readAndCacheSecret("secret/ci/elastic-gradle-plugins/artifactory_creds").get()
dockerBaseImage {
osPackageRepository.set(URL("https://${creds["username"]}:${creds["plaintext"]}@artifactory.elastic.dev/artifactory/gradle-plugins-os-packages"))
fromUbuntu("ubuntu", "20.04")
copySpec {
from(projectDir) {
include("build.gradle.kts")
}
}
}
tasks.register<SandboxDockerExecTask>("test") {
image(project)
setCommandLine(listOf("grep", "SandboxDockerExecTask", "/build.gradle.kts"))
}
""",
SandboxDockerExecTask.class.getName()
));
Files.copy(
Objects.requireNonNull(getClass().getResourceAsStream("/ubuntu.lockfile.yaml")),
helper.projectDir().resolve("docker-base-image.lock")
);
final BuildResult result = gradleRunner.withArguments("--warning-mode", "fail", "-s",
"test"
).build();
assertContains(result.getOutput(), "tasks.register<SandboxDockerExecTask>(\"test\")");
}