public void testPullTask()

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());
    }