Skip to content

Commit

Permalink
Add simple test environment for core features
Browse files Browse the repository at this point in the history
Signed-off-by: Solomon Hykes <solomon@dagger.io>
  • Loading branch information
shykes committed Jun 21, 2021
1 parent 21c76f2 commit 49277af
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .dagger/env/test-core/.gitignore
@@ -0,0 +1,2 @@
# dagger state
state/**
11 changes: 11 additions & 0 deletions .dagger/env/test-core/plan/test-core.cue
@@ -0,0 +1,11 @@
package testcore

import (
"dagger.io/dagger"
)

name: string | *"world" @dagger(input)
message: "Hello, \(name)!" @dagger(output)

dir: dagger.#Artifact @dagger(input)
samedir: dir @dagger(output)
27 changes: 27 additions & 0 deletions .dagger/env/test-core/values.yaml
@@ -0,0 +1,27 @@
plan:
module: .dagger/env/test-core/plan
name: test-core
inputs:
dir:
dir:
path: ./tests
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhOW1rUy9vNFBDaXRDUHJu
ZVZYM1FucVorRDdUcmRaYmg3eTlTNzhhYWdjCndWZWxhZnhCZG4xZU9JQ1VyMXdR
OHY0TS81bk9FL2JuUEhuTmcxa29ORGcKLS0tIGxJUzNrZmRBNHZGRFY2Z01QK2JP
MlM1Ukdqbi9SQ0pqTi9FZ3MxN2E2QmsKHwd7P6KHPVdynOoto1jf3G4+5+vf87wU
HX1KD7Od5wRdBwn7r3OS8mdvuNIYpJDUb5YDrfjQypt020ohLocNiA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-17T14:07:53Z"
mac: ENC[AES256_GCM,data:afYut7wdvsJQgxlBg6NEV6DWk8vPi81mZgQAuWb4oe4WJeI1T9cYdtjOHPlmIpjqb86VQHJ29YTzektei2+k+VBawQxcsvefK7X1QboJTfMKLfsiug4qzNWjc7JZDvTb6dsDFM1U96gjSoAIVwdLMnucbu3681Fd7qSQgqNS61Q=,iv:ZQDHzXp0RJcUI4RtOVjdepV8zTa2kIHQhAltLkudDck=,tag:AnSFi1mKrEuXSqE4R+g7dw==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1
30 changes: 30 additions & 0 deletions tests/core.bats
@@ -0,0 +1,30 @@
# Test core Dagger features & types

setup() {
load 'helpers'

common_setup

# Use native Dagger environment here
unset DAGGER_WORKSPACE
}

@test "core: inputs" {
# List available inputs
run dagger -e test-core input list
assert_success
assert_output --partial 'name'
assert_output --partial 'dir'

# Set text input
dagger -e test-core input text name Bob
run dagger -e test-core up
assert_success
assert_output --partial 'Hello, Bob!'

# Unset text input
dagger -e test-core input unset name
run dagger -e test-core up
assert_success
assert_output --partial 'Hello, world!'
}
7 changes: 6 additions & 1 deletion tests/helpers.bash
Expand Up @@ -27,6 +27,11 @@ dagger_new_with_plan() {

}

# dagger helper to execute the right binary
dagger() {
"${DAGGER}" "$@"
}

skip_unless_secrets_available() {
local inputFile="$1"
sops exec-file "$inputFile" echo > /dev/null 2>&1 || skip "$inputFile cannot be decrypted"
Expand All @@ -38,4 +43,4 @@ skip_unless_local_kube() {
else
skip "local kubernetes cluster not available"
fi
}
}

0 comments on commit 49277af

Please sign in to comment.