tests: fix integration tests
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This commit is contained in:
113
tests/cli.bats
113
tests/cli.bats
@@ -4,55 +4,45 @@ setup() {
|
||||
common_setup
|
||||
}
|
||||
|
||||
@test "dagger list" {
|
||||
run "$DAGGER" list
|
||||
@test "dagger init" {
|
||||
run "$DAGGER" init
|
||||
assert_success
|
||||
assert_output ""
|
||||
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/cli/simple simple
|
||||
|
||||
run "$DAGGER" list
|
||||
assert_success
|
||||
assert_output --partial "simple"
|
||||
refute_output
|
||||
|
||||
run "$DAGGER" init
|
||||
assert_failure
|
||||
}
|
||||
|
||||
@test "dagger new --plan-dir" {
|
||||
run "$DAGGER" list
|
||||
assert_success
|
||||
assert_output ""
|
||||
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/cli/simple simple
|
||||
|
||||
# duplicate name
|
||||
run "$DAGGER" new --plan-dir "$TESTDIR"/cli/simple simple
|
||||
@test "dagger new" {
|
||||
run "$DAGGER" new "test"
|
||||
assert_failure
|
||||
|
||||
# verify the plan works
|
||||
"$DAGGER" up -e "simple"
|
||||
|
||||
# verify we have the right plan
|
||||
run "$DAGGER" query -f cue -e "simple" -c -f json
|
||||
run "$DAGGER" init
|
||||
assert_success
|
||||
assert_output --partial '{
|
||||
"bar": "another value",
|
||||
"computed": "test",
|
||||
"foo": "value"
|
||||
}'
|
||||
}
|
||||
|
||||
@test "dagger new --plan-git" {
|
||||
"$DAGGER" new --plan-git https://github.com/samalba/dagger-test.git simple
|
||||
"$DAGGER" up -e "simple"
|
||||
run "$DAGGER" query -f cue -e "simple" -c
|
||||
run "$DAGGER" list
|
||||
assert_success
|
||||
assert_output --partial '{
|
||||
foo: "value"
|
||||
bar: "another value"
|
||||
}'
|
||||
refute_output
|
||||
|
||||
run "$DAGGER" new "test"
|
||||
assert_success
|
||||
|
||||
run "$DAGGER" list
|
||||
assert_success
|
||||
assert_output --partial "test"
|
||||
|
||||
run "$DAGGER" new "test"
|
||||
assert_failure
|
||||
}
|
||||
|
||||
@test "dagger query" {
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/cli/simple simple
|
||||
"$DAGGER" init
|
||||
|
||||
dagger_new_with_plan simple "$TESTDIR"/cli/simple
|
||||
|
||||
run "$DAGGER" query -l error -e "simple"
|
||||
assert_success
|
||||
assert_output '{
|
||||
@@ -93,24 +83,10 @@ setup() {
|
||||
}'
|
||||
}
|
||||
|
||||
@test "dagger plan" {
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/cli/simple simple
|
||||
|
||||
# plan dir
|
||||
"$DAGGER" -e "simple" plan dir "$TESTDIR"/cli/simple
|
||||
run "$DAGGER" -e "simple" query
|
||||
assert_success
|
||||
assert_output --partial '"foo": "value"'
|
||||
|
||||
# plan git
|
||||
"$DAGGER" -e "simple" plan git https://github.com/samalba/dagger-test.git
|
||||
run "$DAGGER" -e "simple" query
|
||||
assert_success
|
||||
assert_output --partial '"foo": "value"'
|
||||
}
|
||||
|
||||
@test "dagger input text" {
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/cli/input/simple "input"
|
||||
"$DAGGER" init
|
||||
|
||||
dagger_new_with_plan input "$TESTDIR"/cli/input/simple
|
||||
|
||||
# simple input
|
||||
"$DAGGER" input -e "input" text "input" "my input"
|
||||
@@ -176,7 +152,9 @@ setup() {
|
||||
}
|
||||
|
||||
@test "dagger input json" {
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/cli/input/simple "input"
|
||||
"$DAGGER" init
|
||||
|
||||
dagger_new_with_plan input "$TESTDIR"/cli/input/simple
|
||||
|
||||
# simple json
|
||||
"$DAGGER" input -e "input" json "structured" '{"a": "foo", "b": 42}'
|
||||
@@ -214,7 +192,9 @@ setup() {
|
||||
}
|
||||
|
||||
@test "dagger input yaml" {
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/cli/input/simple "input"
|
||||
"$DAGGER" init
|
||||
|
||||
dagger_new_with_plan input "$TESTDIR"/cli/input/simple
|
||||
|
||||
# simple yaml
|
||||
"$DAGGER" input -e "input" yaml "structured" '{"a": "foo", "b": 42}'
|
||||
@@ -252,10 +232,17 @@ setup() {
|
||||
}
|
||||
|
||||
@test "dagger input dir" {
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/cli/input/artifact "input"
|
||||
"$DAGGER" init
|
||||
|
||||
# input dir
|
||||
"$DAGGER" input -e "input" dir "source" "$TESTDIR"/cli/input/artifact/testdata
|
||||
dagger_new_with_plan input "$TESTDIR"/cli/input/artifact
|
||||
|
||||
# input dir outside the workspace
|
||||
run "$DAGGER" input -e "input" dir "source" /tmp
|
||||
assert_failure
|
||||
|
||||
# input dir inside the workspace
|
||||
cp -R "$TESTDIR"/cli/input/artifact/testdata/ "$DAGGER_WORKSPACE"/testdata
|
||||
"$DAGGER" input -e "input" dir "source" "$DAGGER_WORKSPACE"/testdata
|
||||
"$DAGGER" up -e "input"
|
||||
run "$DAGGER" -l error query -e "input"
|
||||
assert_success
|
||||
@@ -276,7 +263,9 @@ setup() {
|
||||
}
|
||||
|
||||
@test "dagger input git" {
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/cli/input/artifact "input"
|
||||
"$DAGGER" init
|
||||
|
||||
dagger_new_with_plan input "$TESTDIR"/cli/input/artifact
|
||||
|
||||
# input git
|
||||
"$DAGGER" input -e "input" git "source" https://github.com/samalba/dagger-test-simple.git
|
||||
@@ -296,11 +285,3 @@ setup() {
|
||||
"foo": "bar"
|
||||
}'
|
||||
}
|
||||
|
||||
@test "dagger input scan" {
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/cli/input/scan "scan"
|
||||
|
||||
# TODO "scan" option isn't implemented
|
||||
run "$DAGGER" input scan -e "input"
|
||||
assert_success
|
||||
}
|
||||
|
@@ -7,13 +7,13 @@ setup() {
|
||||
@test "example: react" {
|
||||
skip_unless_secrets_available "$TESTDIR"/examples/react/inputs.yaml
|
||||
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/../examples/react react
|
||||
"$DAGGER" init
|
||||
dagger_new_with_plan react "$TESTDIR"/../examples/react
|
||||
sops -d "$TESTDIR"/examples/react/inputs.yaml | "$DAGGER" -e "react" input yaml "" -f -
|
||||
"$DAGGER" up -e "react"
|
||||
|
||||
# curl the URL we just deployed to check if it worked
|
||||
deployUrl=$("$DAGGER" query -l error -f text -e "react" www.deployUrl)
|
||||
echo "=>$deployUrl<="
|
||||
run curl -sS "$deployUrl"
|
||||
assert_success
|
||||
assert_output --partial "Todo App"
|
||||
|
@@ -10,8 +10,18 @@ common_setup() {
|
||||
DAGGER_LOG_FORMAT="pretty"
|
||||
export DAGGER_LOG_FORMAT
|
||||
|
||||
DAGGER_STORE="$(mktemp -d -t dagger-store-XXXXXX)"
|
||||
export DAGGER_STORE
|
||||
DAGGER_WORKSPACE="$(mktemp -d -t dagger-workspace-XXXXXX)"
|
||||
export DAGGER_WORKSPACE
|
||||
}
|
||||
|
||||
dagger_new_with_plan() {
|
||||
local name="$1"
|
||||
local sourcePlan="$2"
|
||||
local targetPlan="$DAGGER_WORKSPACE"/.dagger/env/"$name"/plan
|
||||
|
||||
"$DAGGER" new "$name"
|
||||
rmdir "$targetPlan"
|
||||
ln -s "$sourcePlan" "$targetPlan"
|
||||
}
|
||||
|
||||
skip_unless_secrets_available() {
|
||||
|
@@ -91,8 +91,11 @@ setup() {
|
||||
@test "stdlib: terraform" {
|
||||
skip_unless_secrets_available "$TESTDIR"/stdlib/aws/inputs.yaml
|
||||
|
||||
"$DAGGER" new --plan-dir "$TESTDIR"/stdlib/terraform/s3 terraform
|
||||
"$DAGGER" -e terraform input dir TestData "$TESTDIR"/stdlib/terraform/s3/testdata
|
||||
"$DAGGER" init
|
||||
dagger_new_with_plan terraform "$TESTDIR"/stdlib/terraform/s3
|
||||
|
||||
cp -R "$TESTDIR"/stdlib/terraform/s3/testdata "$DAGGER_WORKSPACE"/testdata
|
||||
"$DAGGER" -e terraform input dir TestData "$DAGGER_WORKSPACE"/testdata
|
||||
sops -d "$TESTDIR"/stdlib/aws/inputs.yaml | "$DAGGER" -e "terraform" input yaml "" -f -
|
||||
|
||||
# it must fail because of a missing var
|
||||
|
Reference in New Issue
Block a user