chore: initialize go-sip repository
This commit is contained in:
Executable
+40
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
cd -- "$ROOT"
|
||||
IMAGE=${RABBITMQ_IMAGE:-rabbitmq:4.1-management-alpine}
|
||||
NAME="sip-go-agent-rabbit-poc-${$}"
|
||||
PORT=""
|
||||
RABBIT_USER=${RABBITMQ_TEST_USER:-agent_call_integration}
|
||||
RABBIT_PASSWORD=${RABBITMQ_TEST_PASSWORD:-$(openssl rand -hex 16)}
|
||||
RABBIT_UID=$(docker run --rm "$IMAGE" id -u rabbitmq)
|
||||
RABBIT_GID=$(docker run --rm "$IMAGE" id -g rabbitmq)
|
||||
|
||||
cleanup() {
|
||||
docker rm -f "$NAME" >/dev/null 2>&1 || true
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
docker run -d --name "$NAME" --user "${RABBIT_UID}:${RABBIT_GID}" -e RABBITMQ_DEFAULT_USER="$RABBIT_USER" -e RABBITMQ_DEFAULT_PASS="$RABBIT_PASSWORD" -p 0:5672 "$IMAGE" >/dev/null
|
||||
ready=false
|
||||
for _ in $(seq 1 90); do
|
||||
if docker exec "$NAME" rabbitmq-diagnostics -q check_running >/dev/null 2>&1; then
|
||||
ready=true
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
if [[ "$ready" != true ]]; then
|
||||
docker logs "$NAME" >&2 || true
|
||||
echo "RabbitMQ did not become ready" >&2
|
||||
exit 1
|
||||
fi
|
||||
PORT=$(docker port "$NAME" 5672/tcp | head -1 | sed -E 's/.*:([0-9]+)$/\1/')
|
||||
if [[ -z "$PORT" ]]; then
|
||||
echo "could not determine RabbitMQ host port" >&2
|
||||
exit 1
|
||||
fi
|
||||
IMAGE_ID=$(docker image inspect --format '{{.Id}}' "$IMAGE")
|
||||
printf 'local RabbitMQ image=%s id=%s uid=%s gid=%s port=%s\n' "$IMAGE" "$IMAGE_ID" "$RABBIT_UID" "$RABBIT_GID" "$PORT"
|
||||
RABBITMQ_URL="amqp://${RABBIT_USER}:${RABBIT_PASSWORD}@127.0.0.1:${PORT}/" go test -tags=integration ./internal/mq ./internal/dispatcher
|
||||
Reference in New Issue
Block a user