Files
grafana/e2e/run-suite
T

124 lines
2.9 KiB
Bash
Raw Normal View History

2022-01-12 22:15:29 +04:00
#!/usr/bin/env bash
2020-07-10 16:09:21 +02:00
set -xeo pipefail
. scripts/grafana-server/variables
2022-01-12 22:15:29 +04:00
if ((BASH_VERSINFO[0] < 4)); then
echo "Bash ver >= 4 is needed to run this script"
echo "Please upgrade your bash - run 'brew install bash' if you use Homebrew on MacOS"
exit 1;
fi
2020-07-10 16:09:21 +02:00
HOST=${HOST:-$DEFAULT_HOST}
PORT=${PORT:-$DEFAULT_PORT}
echo -e "Starting Cypress scenarios"
args=("$@")
CMD="start"
PARAMS=""
CLEANUP=""
2022-01-12 22:15:29 +04:00
declare -A env=(
[BASE_URL]=${BASE_URL:-"http://$HOST:$PORT"}
[SLOWMO]=0
)
testFilesForSingleSuite="*.spec.ts"
rootForEnterpriseSuite="extensions-suite"
2022-01-12 22:15:29 +04:00
declare -A cypressConfig=(
[integrationFolder]=../../e2e
[screenshotsFolder]=../../e2e/"${args[0]}"/screenshots
[videosFolder]=../../e2e/"${args[0]}"/videos
[fileServerFolder]=./cypress
[testFiles]=*-suite/*spec.ts
[defaultCommandTimeout]=30000
[viewportWidth]=1920
[viewportHeight]=1080
[trashAssetsBeforeRuns]=false
[videoUploadOnPasses]=false
[reporter]=../../e2e/log-reporter.js
2022-01-12 22:15:29 +04:00
)
2020-03-13 18:48:38 +01:00
cd packages/grafana-e2e
2022-01-12 22:15:29 +04:00
case "$1" in
2021-11-24 15:16:51 +01:00
"debug")
echo -e "Debug mode"
2022-01-12 22:15:29 +04:00
env[SLOWMO]=1
2021-11-24 15:16:51 +01:00
PARAMS="--no-exit"
;;
"dev")
echo "Dev mode"
CMD="open"
;;
2022-01-12 22:15:29 +04:00
"benchmark")
echo "Benchmark"
PARAMS="--headed"
CMD="start-benchmark"
env[BENCHMARK_PLUGIN_ENABLED]=true
env[BENCHMARK_PLUGIN_RESULTS_FOLDER]=../../e2e/benchmarks/"${args[1]}"/results
cypressConfig[video]=false
cypressConfig[integrationFolder]=../../e2e/benchmarks/"${args[1]}"
cypressConfig[screenshotsFolder]=../../e2e/benchmarks/"${args[1]}"/screenshots
cypressConfig[testFiles]=$testFilesForSingleSuite
;;
"enterprise")
echo "Enterprise"
CLEANUP="rm -rf ../../e2e/extensions-suite"
SETUP="cp -Lr ../../e2e/extensions ../../e2e/extensions-suite"
enterpriseSuite=$(basename "${args[1]}")
case "$2" in
"debug")
echo -e "Debug mode"
env[SLOWMO]=1
PARAMS="--no-exit"
enterpriseSuite=$(basename "${args[2]}")
;;
"dev")
echo "Dev mode"
CMD="open"
enterpriseSuite=$(basename "${args[2]}")
;;
esac
cypressConfig[testFiles]=$rootForEnterpriseSuite/$enterpriseSuite/*-suite/*.spec.ts
$CLEANUP && $SETUP
;;
2021-11-24 15:16:51 +01:00
"")
;;
*)
2022-01-12 22:15:29 +04:00
cypressConfig[integrationFolder]=../../e2e/"${args[0]}"
cypressConfig[testFiles]=$testFilesForSingleSuite
cypressConfig[video]=${args[1]}
2021-11-24 15:16:51 +01:00
;;
esac
2022-01-12 22:15:29 +04:00
function join () {
local -n map=$1
local delimiter=","
local res=""
for key in "${!map[@]}"
do
value=${map[$key]}
if [ -z "${res}" ]; then
res=$key=$value
else
res=$res$delimiter$key=$value
fi
done
echo "$res"
}
yarn $CMD --env "$(join env)" \
--config "$(join cypressConfig)" \
$PARAMS
$CLEANUP