in plugins/docker/base-image/src/integrationTest/java/co/elastic/gradle/dockerbase/DockerBaseImageBuildPluginIT.java [198:237]
public void testPullTask() throws IOException {
Files.createDirectories(helper.projectDir().resolve("s1"));
Files.copy(
Objects.requireNonNull(getClass().getResourceAsStream("/ubuntu.lockfile.yaml")),
helper.projectDir().resolve("s1/docker-base-image.lock")
);
helper.settings("""
include("s1")
include("s2")
"""
);
helper.buildScript("s1", """
plugins {
id("co.elastic.docker-base")
}
dockerBaseImage {
fromUbuntu("ubuntu", "20.04")
}
"""
);
helper.buildScript("s2", """
plugins {
id("co.elastic.docker-base")
}
dockerBaseImage {
from(project(":s1"))
}
"""
);
final BuildResult result = gradleRunner.withArguments("--warning-mode", "fail", "-s", "dockerBasePull").build();
assertContains(result.getOutput(), "Pulling from library/ubuntu");
assertContains(
result.getOutput(),
Architecture.current().map(Map.of(
Architecture.AARCH64, "sha256:9bfe2c7a24b46c861ffea8b27dd1015e3b52e93e5581a09eacecd5a3cd601924",
Architecture.X86_64, "sha256:cc9cc8169c9517ae035cf293b15f06922cb8c6c864d625a72b7b18667f264b70"
))
);
assertEquals(TaskOutcome.SKIPPED, Objects.requireNonNull(result.task(":s2:dockerBasePull")).getOutcome());
}