package docker
import (
"dagger.io/dagger"
"universe.dagger.io/docker"
"universe.dagger.io/alpine"
)
dagger.#Plan & {
actions: tests: run: {
_build: alpine.#Build
_image: _build.output
// Test: run a simple shell command
simpleShell: {
image: alpine.#Build
run: docker.#Run & {
input: _image
command: {
name: "/bin/sh"
args: ["-c", "echo -n hello world >> /output.txt"]
}
verify: dagger.#ReadFile & {
input: run.output.rootfs
path: "/output.txt"
verify: contents: "hello world"
// Test: export a file
exportFile: {
image: _image
name: "sh"
flags: "-c": #"""
echo -n hello world >> /output.txt
"""#
export: files: "/output.txt": _ & {
// Assert content
contents: "hello world"
// Test: export a directory
exportDirectory: {
mkdir -p /test
echo -n hello world >> /test/output.txt
export: directories: "/test": _
input: run.export.directories."/test".contents