From c4225121551d9da04adb471b13943a864989af61 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Tue, 14 Dec 2021 14:29:20 -0700 Subject: [PATCH] fixed test, and added more failure modes Signed-off-by: Richard Jones --- tests/plan.bats | 30 +++++++++++++++++-- .../context/services/incomplete_service.cue | 28 +++++++++++++++++ .../plan/context/services/incomplete_unix.cue | 28 +++++++++++++++++ .../plan/context/services/invalid_schema.cue | 28 +++++++++++++++++ tests/plan/context/services/invalid_value.cue | 28 +++++++++++++++++ tests/plan/context/services/unix.cue | 28 +++++++++++++++++ tests/plan/context/services/unix/main.cue | 25 ---------------- 7 files changed, 167 insertions(+), 28 deletions(-) create mode 100644 tests/plan/context/services/incomplete_service.cue create mode 100644 tests/plan/context/services/incomplete_unix.cue create mode 100644 tests/plan/context/services/invalid_schema.cue create mode 100644 tests/plan/context/services/invalid_value.cue create mode 100644 tests/plan/context/services/unix.cue delete mode 100644 tests/plan/context/services/unix/main.cue diff --git a/tests/plan.bats b/tests/plan.bats index 87fd15a0..f99567ef 100644 --- a/tests/plan.bats +++ b/tests/plan.bats @@ -4,13 +4,37 @@ setup() { common_setup } -@test "plan: hello" { +@test "plan/hello" { # Europa loader handles the cwd differently, therefore we need to CD into the tree at or below the parent of cue.mod cd "$TESTDIR" "$DAGGER" --europa up ./plan/hello-europa } -@test "plan: unix socket" { +@test "plan/context/services invalid schema" { cd "$TESTDIR" - "$DAGGER" --europa up ./plan/context/services/unix + run "$DAGGER" --europa up ./plan/context/services/invalid_schema.cue + assert_failure +} + +@test "plan/context/services invalid value" { + cd "$TESTDIR" + run "$DAGGER" --europa up ./plan/context/services/invalid_value.cue + assert_failure +} + +@test "plan/context/services incomplete unix" { + cd "$TESTDIR" + run "$DAGGER" --europa up ./plan/context/services/incomplete_unix.cue + assert_failure +} + +@test "plan/context/services incomplete service" { + cd "$TESTDIR" + run "$DAGGER" --europa up ./plan/context/services/incomplete_service.cue + assert_output --partial "pipeline was partially executed because of missing inputs" +} + +@test "plan/context/services unix" { + cd "$TESTDIR" + "$DAGGER" --europa up ./plan/context/services/unix.cue } \ No newline at end of file diff --git a/tests/plan/context/services/incomplete_service.cue b/tests/plan/context/services/incomplete_service.cue new file mode 100644 index 00000000..d21d9b69 --- /dev/null +++ b/tests/plan/context/services/incomplete_service.cue @@ -0,0 +1,28 @@ +package main + +import ( + "alpha.dagger.io/dagger/engine" + "alpha.dagger.io/dagger/op" + "alpha.dagger.io/alpine" +) + +engine.#Plan & { + // should fail + context: services: dockerSocket: {} + + actions: { + test: #up: [ + op.#Load & { + from: alpine.#Image & { + package: "docker-cli": true + } + }, + + op.#Exec & { + always: true + mount: "/var/run/docker.sock": stream: context.services.dockerSocket.service + args: ["docker", "info"] + } + ] + } +} diff --git a/tests/plan/context/services/incomplete_unix.cue b/tests/plan/context/services/incomplete_unix.cue new file mode 100644 index 00000000..02a6befa --- /dev/null +++ b/tests/plan/context/services/incomplete_unix.cue @@ -0,0 +1,28 @@ +package main + +import ( + "alpha.dagger.io/dagger/engine" + "alpha.dagger.io/dagger/op" + "alpha.dagger.io/alpine" +) + +engine.#Plan & { + // should succeed + context: services: dockerSocket: unix: string + + actions: { + test: #up: [ + op.#Load & { + from: alpine.#Image & { + package: "docker-cli": true + } + }, + + op.#Exec & { + always: true + mount: "/var/run/docker.sock": stream: context.services.dockerSocket.service + args: ["docker", "info"] + } + ] + } +} diff --git a/tests/plan/context/services/invalid_schema.cue b/tests/plan/context/services/invalid_schema.cue new file mode 100644 index 00000000..3e9ce40a --- /dev/null +++ b/tests/plan/context/services/invalid_schema.cue @@ -0,0 +1,28 @@ +package main + +import ( + "alpha.dagger.io/dagger/engine" + "alpha.dagger.io/dagger/op" + "alpha.dagger.io/alpine" +) + +engine.#Plan & { + // should fail because of misspelled key + context: services: dockerSocket: unx: "/var/run/docker.soc" + + actions: { + test: #up: [ + op.#Load & { + from: alpine.#Image & { + package: "docker-cli": true + } + }, + + op.#Exec & { + always: true + mount: "/var/run/docker.sock": stream: context.services.dockerSocket.service + args: ["docker", "info"] + } + ] + } +} diff --git a/tests/plan/context/services/invalid_value.cue b/tests/plan/context/services/invalid_value.cue new file mode 100644 index 00000000..a3479c1c --- /dev/null +++ b/tests/plan/context/services/invalid_value.cue @@ -0,0 +1,28 @@ +package main + +import ( + "alpha.dagger.io/dagger/engine" + "alpha.dagger.io/dagger/op" + "alpha.dagger.io/alpine" +) + +engine.#Plan & { + // should fail because of misspelled value + context: services: dockerSocket: unix: "/var/run/docker.soc" + + actions: { + test: #up: [ + op.#Load & { + from: alpine.#Image & { + package: "docker-cli": true + } + }, + + op.#Exec & { + always: true + mount: "/var/run/docker.sock": stream: context.services.dockerSocket.service + args: ["docker", "info"] + } + ] + } +} diff --git a/tests/plan/context/services/unix.cue b/tests/plan/context/services/unix.cue new file mode 100644 index 00000000..b333536c --- /dev/null +++ b/tests/plan/context/services/unix.cue @@ -0,0 +1,28 @@ +package main + +import ( + "alpha.dagger.io/dagger/engine" + "alpha.dagger.io/dagger/op" + "alpha.dagger.io/alpine" +) + +engine.#Plan & { + // should succeed + context: services: dockerSocket: unix: "/var/run/docker.sock" + + actions: { + test: #up: [ + op.#Load & { + from: alpine.#Image & { + package: "docker-cli": true + } + }, + + op.#Exec & { + always: true + mount: "/var/run/docker.sock": stream: context.services.dockerSocket.service + args: ["docker", "info"] + } + ] + } +} diff --git a/tests/plan/context/services/unix/main.cue b/tests/plan/context/services/unix/main.cue deleted file mode 100644 index 2e3b377f..00000000 --- a/tests/plan/context/services/unix/main.cue +++ /dev/null @@ -1,25 +0,0 @@ -package main - -import ( - "alpha.dagger.io/dagger/engine" - "alpha.dagger.io/dagger/op" - "alpha.dagger.io/alpine" -) - -engine.#Plan & { - context: services: dockerSocket: unix: "/var/run/docker.sock" - - actions: { - load: op.#Load & { - from: alpine.#Image & { - package: "docker-cli": true - } - } - - exec: op.#Exec & { - always: true - mount: "/var/run/docker.sock": stream: context.services.dockerSocket.service - args: ["docker", "info"] - } - } -}