language: python
sudo: required

python:
  - "3.4.3"

services:
  - postgresql

addons:
  postgresql: "9.3"

install:
  - sudo apt-get install git nginx python3-dev libpq-dev graphviz-dev graphviz pkg-config python-psycopg2 nodejs npm
  - sudo ln -s /usr/bin/node
  - pip install -r requirements/test-requirements.txt
  - pip install --upgrade setuptools

# Line 24 to 35 is a hack found in this link below
# It was used to fix an error in database building
# https://dockyard.com/blog/ruby/2013/03/29/running-postgresql-9-2-on-travis-ci

before_script:
  - sudo /etc/init.d/postgresql stop
  - sudo cp /etc/postgresql/9.2/main/pg_hba.conf ./
  - sudo apt-get remove postgresql postgresql-9.2 -qq --purge
  - source /etc/lsb-release
  - echo "deb http://apt.postgresql.org/pub/repos/apt/ $DISTRIB_CODENAME-pgdg main" > pgdg.list
  - sudo mv pgdg.list /etc/apt/sources.list.d/
  - wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
  - sudo apt-get update
  - sudo apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" install postgresql-9.3 postgresql-contrib-9.3 -qq
  - sudo /etc/init.d/postgresql stop
  - sudo cp ./pg_hba.conf /etc/postgresql/9.3/main
  - sudo /etc/init.d/postgresql start
  - npm install -g bower
  - cp .env_dev .env
  - sed -i -e 's/getpass.getuser()/"postgres"/g' sapl/settings.py
  - psql -c 'create database sapl;' -U postgres

script:
  - ./manage.py migrate
  - ./manage.py bower install
  - pip freeze
  - ./test_and_check_qa.sh