tests: implemented tasks tests for engine.#Push

Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
This commit is contained in:
Sam Alba 2021-12-20 17:31:04 -08:00
parent 9d3cd180a2
commit 13dafb7341
2 changed files with 72 additions and 0 deletions

View File

@ -14,6 +14,11 @@ setup() {
"$DAGGER" --europa up ./pull_auth.cue
}
@test "task: #Push" {
cd "$TESTDIR"/tasks/push
"$DAGGER" --europa up ./push.cue
}
@test "task: #ReadFile" {
cd "$TESTDIR"/tasks/readfile
"$DAGGER" --europa up

67
tests/tasks/push/push.cue Normal file
View File

@ -0,0 +1,67 @@
package main
import (
"strings"
"alpha.dagger.io/europa/dagger/engine"
)
engine.#Plan & {
inputs: secrets: dockerHubToken: envvar: "DOCKERHUB_TOKEN"
#auth: [{
target: "daggerio/ci-test:private-pull"
username: "daggertest"
secret: inputs.secrets.dockerHubToken.contents
}]
actions: {
randomString: {
baseImage: engine.#Pull & {
source: "alpine:3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3"
}
image: engine.#Exec & {
input: baseImage.output
args: [
"sh", "-c", "echo -n $RANDOM > /output.txt",
]
}
outputFile: engine.#ReadFile & {
input: image.output
path: "/output.txt"
}
output: outputFile.contents
}
// Push image with random content
push: engine.#Push & {
dest: "daggerio/ci-test:\(randomString.output)"
input: randomString.image.output
config: Env: ["FOO=\(randomString.output)"]
auth: #auth
}
// Pull same image and check the content
pull: engine.#Pull & {
source: "daggerio/ci-test:\(randomString.output)"
auth: #auth
} & {
// check digest
digest: strings.Split(push.result, "@")[1]
// check image config
config: {
Env: ["FOO=\(randomString.output)"]
}
}
pullOutputFile: engine.#ReadFile & {
input: pull.output
path: "/output.txt"
}
// Check output file in the pulled image
pullContent: string & pullOutputFile.contents & randomString.contents
}
}