Add 7 #[ignore] e2e tests (one per trigger type) that fire real messages to external services and verify job creation in v2_job. Also add 9 DB-level CRUD tests for MQTT, GCP, and Email triggers. Includes helper shell scripts in tests/fixtures/ to start/stop each external service (MQTT, WebSocket, Postgres replication, Kafka, NATS, SQS via LocalStack, GCP Pub/Sub emulator). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
48 lines
1.6 KiB
Bash
Executable File
48 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Starts the GCP Pub/Sub emulator for trigger_e2e::test_gcp_e2e (Enterprise)
|
|
#
|
|
# Usage:
|
|
# ./tests/fixtures/start_gcp_pubsub.sh # start
|
|
# ./tests/fixtures/start_gcp_pubsub.sh stop # stop & remove
|
|
set -euo pipefail
|
|
|
|
NAME="windmill-test-pubsub"
|
|
PORT=8085
|
|
|
|
if [[ "${1:-}" == "stop" ]]; then
|
|
docker rm -f "$NAME" 2>/dev/null && echo "stopped $NAME" || echo "$NAME not running"
|
|
exit 0
|
|
fi
|
|
|
|
if docker ps --format '{{.Names}}' | grep -q "^${NAME}$"; then
|
|
echo "$NAME is already running"
|
|
exit 0
|
|
fi
|
|
|
|
docker rm -f "$NAME" 2>/dev/null || true
|
|
|
|
docker run -d --name "$NAME" -p "${PORT}:8085" \
|
|
gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators \
|
|
gcloud beta emulators pubsub start --host-port="0.0.0.0:${PORT}"
|
|
|
|
echo "Waiting for Pub/Sub emulator to become ready..."
|
|
for i in $(seq 1 30); do
|
|
if curl -sf "http://localhost:${PORT}" &>/dev/null; then
|
|
break
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
# Create the test topic and subscription
|
|
curl -sX PUT "http://localhost:${PORT}/v1/projects/local-project/topics/windmill-e2e-test" >/dev/null
|
|
curl -sX PUT "http://localhost:${PORT}/v1/projects/local-project/subscriptions/windmill-e2e-sub" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"topic": "projects/local-project/topics/windmill-e2e-test"}' >/dev/null
|
|
|
|
echo "GCP Pub/Sub emulator listening on localhost:${PORT}"
|
|
echo " topic: windmill-e2e-test"
|
|
echo " subscription: windmill-e2e-sub"
|
|
echo ""
|
|
echo "Run the test:"
|
|
echo " PUBSUB_EMULATOR_HOST=localhost:${PORT} cargo test --test trigger_e2e test_gcp_e2e --features gcp_trigger,enterprise,private -- --ignored --nocapture"
|