public void testWithGeneratedInput()

in plugins/docker/base-image/src/integrationTest/java/co/elastic/gradle/dockerbase/MoreDockerBaseImageBuildPluginIT.java [220:275]


    public void testWithGeneratedInput() throws IOException {
        helper.buildScript("""
                import java.net.URL
                plugins {
                   id("co.elastic.docker-base")
                   id("co.elastic.vault")
                }
                vault {
                      address.set("https://vault-ci-prod.elastic.dev")
                      auth {
                        ghTokenFile()
                        ghTokenEnv()
                        tokenEnv()
                        roleAndSecretEnv()
                      }
                }
                val archive by tasks.registering(Zip::class) {
                    from("build.gradle.kts")
                    archiveFileName.set("my.zip")
                    destinationDirectory.set(layout.buildDirectory.dir("dist"))
                }
                val custom by tasks.registering {
                    outputs.file("$buildDir/build.gradle.kts")
                    doLast {
                       copy {
                          from("build.gradle.kts")
                          into(buildDir)
                       }   
                    }
                }
                                
                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(archive)
                        from(custom)
                        into("home")
                    }
                    run("find /home", "ls /home/my.zip", "ls /home/build.gradle.kts")
                }
                """
        );
        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",
                "dockerBaseImageBuild"
        ).build();

        assertContains(result.getOutput(), "/home/my.zip");
    }