#!/bin/bash
set -e

mkdir --parents vendor
phpab \
  --output vendor/autoload.php \
  --template debian/autoload.tests.php.tpl \
  tests

TEST_RABBIT_SERVER_DIR=$(mktemp -d --tmpdir rabbitmq.XXXXXX)
mkdir -p $TEST_RABBIT_SERVER_DIR/log
export RABBITMQ_NODENAME=test
env RABBITMQ_MNESIA_BASE=$TEST_RABBIT_SERVER_DIR/mnesia \
  RABBITMQ_CONFIG_FILE=debian/rabbitmq.conf \
  RABBITMQ_LOG_BASE=$TEST_RABBIT_SERVER_DIR/log \
  RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 \
  RABBITMQ_NODE_PORT=15671 \
  HOME=$TEST_RABBIT_SERVER_DIR \
  /usr/lib/rabbitmq/bin/rabbitmq-server > $TEST_RABBIT_SERVER_DIR/log/output.txt 2>&1 &
TEST_RABBIT_SERVER_PID=$!
HOME=$TEST_RABBIT_SERVER_DIR /usr/lib/rabbitmq/bin/rabbitmqctl wait \
  -q --pid $TEST_RABBIT_SERVER_PID

phpunit
exit=$?

env RABBITMQ_MNESIA_BASE=$TEST_RABBIT_SERVER_DIR/mnesia \
  RABBITMQ_LOG_BASE=$TEST_RABBIT_SERVER_DIR/log \
  RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 \
  HOME=$TEST_RABBIT_SERVER_DIR \
  RABBITMQ_NODENAME=test \
  /usr/lib/rabbitmq/bin/rabbitmqctl stop > $TEST_RABBIT_SERVER_DIR/log/stop_output.txt 2>&1 &

exit $exit
