Implement tests for #Subdir

Signed-off-by: guillaume <guillaume.derouville@gmail.com>
This commit is contained in:
guillaume 2021-12-24 01:18:28 +01:00
parent 3cf443a337
commit 19e701eb57
4 changed files with 136 additions and 0 deletions

View File

@ -94,6 +94,17 @@ setup() {
"$DAGGER" --europa up ./scratch.cue -l debug
}
@test "task: #Subdir" {
cd "$TESTDIR"/tasks/subdir
"$DAGGER" --europa up ./subdir_simple.cue
run "$DAGGER" --europa up ./subdir_invalid_path.cue
assert_failure
run "$DAGGER" --europa up ./subdir_invalid_exec.cue
assert_failure
}
@test "task: #GitPull" {
cd "$TESTDIR"
"$DAGGER" --europa up ./tasks/gitpull/exists.cue

View File

@ -0,0 +1,41 @@
package main
import (
"alpha.dagger.io/europa/dagger/engine"
"alpha.dagger.io/europa/dagger"
)
engine.#Plan & {
actions: {
image: engine.#Pull & {
source: "alpine:3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3"
}
mkdir: engine.#Mkdir & {
input: image.output
path: "/test/foo"
}
writeChecker: engine.#WriteFile & {
input: mkdir.output
path: "/test/foo/hello"
contents: "world"
permissions: 0o700
}
subdir: dagger.#Subdir & {
input: writeChecker.output
path: "/test/foo"
}
verify: engine.#Exec & {
input: subdir.output
args: [
"sh", "-c",
#"""
# impossible execution
"""#,
]
}
}
}

View File

@ -0,0 +1,45 @@
package main
import (
"alpha.dagger.io/europa/dagger/engine"
"alpha.dagger.io/europa/dagger"
)
engine.#Plan & {
actions: {
image: engine.#Pull & {
source: "alpine:3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3"
}
mkdir: engine.#Mkdir & {
input: image.output
path: "/test/foo"
}
writeChecker: engine.#WriteFile & {
input: mkdir.output
path: "/test/foo/hello"
contents: "world"
permissions: 0o700
}
subdir: dagger.#Subdir & {
input: writeChecker.output
path: "/directorynotfound"
}
verify: engine.#Exec & {
input: image.output
mounts: fs: {
dest: "/target"
contents: subdir.output
}
args: [
"sh", "-c",
#"""
test $(ls /target | wc -l) = 1
"""#,
]
}
}
}

View File

@ -0,0 +1,39 @@
package main
import (
"alpha.dagger.io/europa/dagger/engine"
"alpha.dagger.io/europa/dagger"
)
engine.#Plan & {
actions: {
image: engine.#Pull & {
source: "alpine:3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3"
}
mkdir: engine.#Mkdir & {
input: image.output
path: "/test/foo"
}
writeChecker: engine.#WriteFile & {
input: mkdir.output
path: "/test/foo/hello"
contents: "world"
permissions: 0o700
}
subdir: dagger.#Subdir & {
input: writeChecker.output
path: "/test/foo"
}
verify: engine.#ReadFile & {
input: subdir.output
path: "/hello"
} & {
// assert result
contents: "world"
}
}
}