33 lines
1.1 KiB
Bash
33 lines
1.1 KiB
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
WORKSHOP_TEST_DATA_DIR=$(mktemp -d)
|
|
WORKSHOP_TEST_PORT=${WORKSHOP_TEST_PORT:-18090}
|
|
|
|
cleanup() {
|
|
WORKSHOP_DATA_DIR="$WORKSHOP_TEST_DATA_DIR" PB_EXPOSE_PORT="$WORKSHOP_TEST_PORT" \
|
|
docker compose -f apps/workshop/docker-compose.yml down --remove-orphans >/dev/null 2>&1 || true
|
|
rm -rf "$WORKSHOP_TEST_DATA_DIR"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
WORKSHOP_DATA_DIR="$WORKSHOP_TEST_DATA_DIR" PB_EXPOSE_PORT="$WORKSHOP_TEST_PORT" \
|
|
docker compose -f apps/workshop/docker-compose.yml up --build -d
|
|
|
|
for attempt in $(seq 1 60); do
|
|
if curl --fail --silent "http://127.0.0.1:$WORKSHOP_TEST_PORT/api/health" >/dev/null; then
|
|
break
|
|
fi
|
|
if [ "$attempt" -eq 60 ]; then
|
|
WORKSHOP_DATA_DIR="$WORKSHOP_TEST_DATA_DIR" PB_EXPOSE_PORT="$WORKSHOP_TEST_PORT" \
|
|
docker compose -f apps/workshop/docker-compose.yml logs --no-color workshop
|
|
exit 1
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
docker exec homarr-workshop-workshop-1 pocketbase superuser create \
|
|
workshop-test@example.invalid 'WorkshopLocalTest123!' --dir=/pb_data
|
|
|
|
WORKSHOP_TEST_URL="http://127.0.0.1:$WORKSHOP_TEST_PORT" node apps/workshop/tests/workshop.integration.mjs
|