#!/bin/bash

set -e

if [ -f config/consul.yml ]; then # canvas is running in docker
  docker-compose run --rm --no-deps \
    -e RAILS_ENV=test  \
    web bundle exec rspec pact/spec \
      --tag pact --format doc
else
  RAILS_ENV=test \
    bundle exec rspec pact/spec \
      --tag pact --format doc
fi


function print_results() {
  exit_code=$?
  set +e
  if [[ "$exit_code" == "0" ]]; then
    echo
    echo "Success!"
  fi
  docker cp contracts:/usr/src/app/pacts web/
  docker rm -f contracts &> /dev/null
}
trap print_results INT TERM EXIT
set -e
docker-compose run --no-deps --name contracts web \
  bundle exec rspec spec/contracts/service_providers/ --format doc --tag pact
sha="$(git rev-parse --short HEAD)"
docker-compose run --no-deps --rm -e SHA="${sha}" \
  web bundle exec rake broker:pact:publish:local
