45 lines
1.4 KiB
Bash
Executable File
45 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
FIXTURE_PORT="${FIXTURE_PORT:-8092}"
|
|
BASE_URL="${E2E_BASE_URL:-http://127.0.0.1:${FIXTURE_PORT}}"
|
|
ENV_FILE="${ROOT_DIR}/credentials/.env"
|
|
|
|
load_env_value() {
|
|
local key="$1"
|
|
local line
|
|
line="$(grep -E "^${key}=" "${ENV_FILE}" | tail -n 1 || true)"
|
|
line="${line#*=}"
|
|
line="${line%\"}"
|
|
line="${line#\"}"
|
|
line="${line%\'}"
|
|
line="${line#\'}"
|
|
printf '%s' "${line}"
|
|
}
|
|
|
|
cd "${ROOT_DIR}"
|
|
|
|
if [[ -f "${ENV_FILE}" ]]; then
|
|
E2E_REMOTE_ADMIN="${E2E_REMOTE_ADMIN:-$(load_env_value E2E_REMOTE_ADMIN)}"
|
|
E2E_REMOTE_ADMIN_BASE_URL="${E2E_REMOTE_ADMIN_BASE_URL:-$(load_env_value E2E_REMOTE_ADMIN_BASE_URL)}"
|
|
E2E_REMOTE_ADMIN_USER="${E2E_REMOTE_ADMIN_USER:-$(load_env_value E2E_REMOTE_ADMIN_USER)}"
|
|
E2E_REMOTE_ADMIN_PASS="${E2E_REMOTE_ADMIN_PASS:-$(load_env_value E2E_REMOTE_ADMIN_PASS)}"
|
|
export E2E_REMOTE_ADMIN E2E_REMOTE_ADMIN_BASE_URL E2E_REMOTE_ADMIN_USER E2E_REMOTE_ADMIN_PASS
|
|
fi
|
|
|
|
if [[ "${E2E_REMOTE_ADMIN:-0}" = "1" && -n "${E2E_REMOTE_ADMIN_BASE_URL:-}" && -z "${E2E_BASE_URL:-}" ]]; then
|
|
BASE_URL="${E2E_REMOTE_ADMIN_BASE_URL}"
|
|
fi
|
|
|
|
if [[ "${E2E_REMOTE_ADMIN:-0}" != "1" ]]; then
|
|
FIXTURE_PORT="${FIXTURE_PORT}" scripts/run_fixture_server.sh start >/dev/null
|
|
fi
|
|
|
|
if [[ ! -d node_modules ]]; then
|
|
npm install
|
|
fi
|
|
|
|
npx playwright install chromium
|
|
E2E_BASE_URL="${BASE_URL}" npx playwright test
|