Files
windmill/backend/tests/fixtures/start_all_triggers.sh
Ruben Fiszel dc5e69481d test: add end-to-end trigger integration tests and DB CRUD tests
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>
2026-02-09 12:28:25 +00:00

59 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# Starts (or stops) all external services needed for the trigger e2e tests.
#
# Usage:
# ./tests/fixtures/start_all_triggers.sh # start everything
# ./tests/fixtures/start_all_triggers.sh stop # stop everything
# ./tests/fixtures/start_all_triggers.sh oss # start only OSS services
set -euo pipefail
DIR="$(cd "$(dirname "$0")" && pwd)"
ACTION="${1:-start}"
SCRIPTS_OSS=(
"$DIR/start_mqtt.sh"
"$DIR/start_websocket.sh"
"$DIR/start_postgres_replication.sh"
)
SCRIPTS_EE=(
"$DIR/start_kafka.sh"
"$DIR/start_nats.sh"
"$DIR/start_sqs.sh"
"$DIR/start_gcp_pubsub.sh"
)
if [[ "$ACTION" == "stop" ]]; then
for s in "${SCRIPTS_OSS[@]}" "${SCRIPTS_EE[@]}"; do
echo "--- $(basename "$s" .sh) stop ---"
bash "$s" stop
done
exit 0
fi
if [[ "$ACTION" == "oss" ]]; then
SCRIPTS=("${SCRIPTS_OSS[@]}")
else
SCRIPTS=("${SCRIPTS_OSS[@]}" "${SCRIPTS_EE[@]}")
fi
for s in "${SCRIPTS[@]}"; do
echo "--- $(basename "$s" .sh) ---"
bash "$s"
echo ""
done
echo "============================================"
echo "All services ready. Run the e2e tests with:"
echo ""
if [[ "$ACTION" == "oss" ]]; then
echo " cargo test --test trigger_e2e --features mqtt_trigger,websocket,postgres_trigger -- --ignored --nocapture"
else
echo " # OSS triggers"
echo " cargo test --test trigger_e2e --features mqtt_trigger,websocket,postgres_trigger -- --ignored --nocapture"
echo ""
echo " # Enterprise triggers"
echo " AWS_ENDPOINT_URL=http://localhost:4566 PUBSUB_EMULATOR_HOST=localhost:8085 cargo test --test trigger_e2e --features kafka,nats,sqs_trigger,gcp_trigger,enterprise,private -- --ignored --nocapture"
fi