in plugins/docker/base-image/src/integrationTest/java/co/elastic/gradle/dockerbase/DockerBaseImageBuildPluginIT.java [411:467]
public void testVerificationMetadata() throws IOException, XPathExpressionException, ParserConfigurationException, TransformerException, SAXException {
Files.copy(
Objects.requireNonNull(getClass().getResourceAsStream("/ubuntu.lockfile.yaml")),
helper.projectDir().resolve("docker-base-image.lock")
);
helper.buildScript("""
import java.net.URL
plugins {
id("co.elastic.docker-base")
id("co.elastic.cli.jfrog")
id("co.elastic.vault")
}
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()
cli {
jfrog {
username.set(creds["username"])
password.set(creds["plaintext"])
}
}
dockerBaseImage {
osPackageRepository.set(URL("https://${creds["username"]}:${creds["plaintext"]}@artifactory.elastic.dev/artifactory/gradle-plugins-os-packages"))
fromUbuntu("ubuntu", "20.04")
install("patch")
}
""");
// Test that the dependencies from the lock-file are added to verification metadata
System.out.println(
gradleRunner.withArguments(
"--warning-mode", "fail",
"-s",
"--write-verification-metadata", "sha256,sha512",
"help"
).build().getOutput()
);
System.out.println(runGradleTask("dependencies").getOutput());
assertVerificationMetaDataContainsOsPackages(
helper.projectDir().resolve("gradle/verification-metadata.xml")
);
}