01d4706338
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
62 lines
1.5 KiB
Bash
62 lines
1.5 KiB
Bash
common_setup() {
|
|
load 'node_modules/bats-support/load'
|
|
load 'node_modules/bats-assert/load'
|
|
|
|
TESTDIR="$( cd "$( dirname "$BATS_TEST_FILENAME" )" >/dev/null 2>&1 && pwd )"
|
|
|
|
DAGGER="${DAGGER_BINARY:-$TESTDIR/../cmd/dagger/dagger}"
|
|
export DAGGER
|
|
|
|
DAGGER_LOG_FORMAT="plain"
|
|
export DAGGER_LOG_FORMAT
|
|
|
|
DAGGER_PROJECT="$BATS_TEST_TMPDIR"
|
|
export DAGGER_PROJECT
|
|
|
|
SOPS_AGE_KEY_FILE=~/.config/dagger/keys.txt
|
|
export SOPS_AGE_KEY_FILE
|
|
}
|
|
|
|
dagger_new_with_plan() {
|
|
local name="$1"
|
|
local sourcePlan="$2"
|
|
local platform="$3"
|
|
|
|
cp -a "$sourcePlan"/* "$DAGGER_PROJECT"
|
|
|
|
local opts=""
|
|
if [ -n "$platform" ];
|
|
then
|
|
opts="--platform $platform"
|
|
fi
|
|
|
|
# Need word splitting to take in account "-a" and "$platform"
|
|
# shellcheck disable=SC2086
|
|
"$DAGGER" new "$name" ${opts}
|
|
}
|
|
|
|
dagger_new_with_env() {
|
|
local sourcePlan="$1"
|
|
|
|
"$DAGGER" init --project "$DAGGER_PROJECT"
|
|
rsync -av "$sourcePlan"/ "$DAGGER_PROJECT"
|
|
}
|
|
|
|
# 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"
|
|
}
|
|
|
|
skip_unless_local_kube() {
|
|
if [ -f ~/.kube/config ] && grep -q "user: kind-kind" ~/.kube/config &> /dev/null && grep -q "127.0.0.1" ~/.kube/config &> /dev/null; then
|
|
echo "Kubernetes available"
|
|
else
|
|
skip "local kubernetes cluster not available"
|
|
fi
|
|
}
|