Files
go-sip/scripts/mq-only-acceptance-local.sh

37 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$ROOT"
# A missing broker must fail the command, never turn these tests into skips.
BASE_URL=${GO_SIP_LOCAL_MQ_URL:-${RABBITMQ_URL:-amqp://guest:guest@127.0.0.1:33252/}}
export GO_SIP_LOCAL_MQ_URL="$BASE_URL"
export GO_SIP_LOCAL_QUERY_MQ_URL="${GO_SIP_LOCAL_QUERY_MQ_URL:-$BASE_URL}"
export GO_SIP_LOCAL_UPLOAD_MQ_URL="${GO_SIP_LOCAL_UPLOAD_MQ_URL:-$BASE_URL}"
export RABBITMQ_URL="${RABBITMQ_URL:-$BASE_URL}"
LOG_FILE=${MQ_ONLY_ACCEPTANCE_LOG:-/tmp/go-sip-mq-only-acceptance.log}
: > "$LOG_FILE"
run() {
printf '$'
printf ' %q' "$@"
printf '\n' | tee -a "$LOG_FILE"
"$@" 2>&1 | tee -a "$LOG_FILE"
}
run env GOMAXPROCS=2 GOTOOLCHAIN=local go test -race -p 1 -v ./internal/dispatcher \
-run 'TestLocalMQ(AIConfigurationAuthorizationRoundTrip|ActiveControlReplyRecovery|RequestRoundTrip)$' -count=1
run env GOMAXPROCS=2 GOTOOLCHAIN=local go test -race -p 1 -v ./internal/rpc \
-run '^TestLocalUploadNoticeSurvivesUnroutableAndRestart$' -count=1
run env GOMAXPROCS=2 GOTOOLCHAIN=local go test -race -p 1 -v -tags integration ./internal/mq \
-run 'TestV2LocalBrokerIdentityIsolationAndReliableRouting|TestLocalRabbitMQConfirmAckAndDeadLetter|TestV2LocalBrokerDisconnectStopsPublisher' -count=1
run env GOMAXPROCS=2 GOTOOLCHAIN=local go test -race -p 1 -v ./internal/store \
-run 'TestMQControlRejectsLateRevisionWithoutRegressingTask|TestMQReplayOnlyRequeuesOriginalBusinessFacts' -count=1
if grep -Eq -- '--- SKIP:|\(no tests to run\)' "$LOG_FILE"; then
echo "targeted MQ acceptance unexpectedly skipped a test; see $LOG_FILE" >&2
exit 1
fi
echo "targeted MQ acceptance passed without skipped tests; log=$LOG_FILE"