From 19e701eb57a993b080fc6f6ac776fad48c99a39a Mon Sep 17 00:00:00 2001 From: guillaume Date: Fri, 24 Dec 2021 01:18:28 +0100 Subject: [PATCH] Implement tests for #Subdir Signed-off-by: guillaume --- tests/tasks.bats | 11 ++++++ tests/tasks/subdir/subdir_invalid_exec.cue | 41 ++++++++++++++++++++ tests/tasks/subdir/subdir_invalid_path.cue | 45 ++++++++++++++++++++++ tests/tasks/subdir/subdir_simple.cue | 39 +++++++++++++++++++ 4 files changed, 136 insertions(+) create mode 100644 tests/tasks/subdir/subdir_invalid_exec.cue create mode 100644 tests/tasks/subdir/subdir_invalid_path.cue create mode 100644 tests/tasks/subdir/subdir_simple.cue diff --git a/tests/tasks.bats b/tests/tasks.bats index 422277e8..c93a408e 100644 --- a/tests/tasks.bats +++ b/tests/tasks.bats @@ -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 diff --git a/tests/tasks/subdir/subdir_invalid_exec.cue b/tests/tasks/subdir/subdir_invalid_exec.cue new file mode 100644 index 00000000..fea7241b --- /dev/null +++ b/tests/tasks/subdir/subdir_invalid_exec.cue @@ -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 + """#, + ] + } + } +} diff --git a/tests/tasks/subdir/subdir_invalid_path.cue b/tests/tasks/subdir/subdir_invalid_path.cue new file mode 100644 index 00000000..f93df6f9 --- /dev/null +++ b/tests/tasks/subdir/subdir_invalid_path.cue @@ -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 + """#, + ] + } + } +} diff --git a/tests/tasks/subdir/subdir_simple.cue b/tests/tasks/subdir/subdir_simple.cue new file mode 100644 index 00000000..3faab7ce --- /dev/null +++ b/tests/tasks/subdir/subdir_simple.cue @@ -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" + } + } +}