language: python
dist: trusty

addons:
  apt:
    sources:
      - google-chrome
    packages:
      - google-chrome-stable

python:
  - "2.7"

services:
  - mysql

install:
  - sudo rm /etc/apt/sources.list.d/mongodb*.list
  - pip install flake8==3.3.0
  - flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics
  - sudo rm /etc/apt/sources.list.d/docker.list
  - sudo apt-get purge -y mysql-common mysql-server mysql-client
  - nvm install v7.10.0
  - wget https://raw.githubusercontent.com/frappe/bench/master/playbooks/install.py
    
  - sudo python install.py --develop --user travis --without-bench-setup
  - sudo pip install -e ~/bench

  - rm $TRAVIS_BUILD_DIR/.git/shallow
  - cd ~/ && bench init frappe-bench --frappe-path $TRAVIS_BUILD_DIR
  - cp -r $TRAVIS_BUILD_DIR/test_sites/test_site ~/frappe-bench/sites/

before_script:
  - wget http://chromedriver.storage.googleapis.com/2.33/chromedriver_linux64.zip
  - unzip chromedriver_linux64.zip
  - sudo apt-get install libnss3
  - sudo apt-get --only-upgrade install google-chrome-stable
  - sudo cp chromedriver /usr/local/bin/.
  - sudo chmod +x /usr/local/bin/chromedriver
  - export DISPLAY=:99.0
  - sh -e /etc/init.d/xvfb start
  - sleep 3
  - mysql -u root -ptravis -e 'create database test_frappe'
  - echo "USE mysql;\nCREATE USER 'test_frappe'@'localhost' IDENTIFIED BY 'test_frappe';\nFLUSH PRIVILEGES;\n" | mysql -u root -ptravis
  - echo "USE mysql;\nGRANT ALL PRIVILEGES ON \`test_frappe\`.* TO 'test_frappe'@'localhost';\n" | mysql -u root -ptravis


  - cd ~/frappe-bench
  - bench use test_site
  - bench reinstall --yes
  - bench setup-help
  - bench scheduler disable
  - bench start &
  - sleep 10

script:
  - set -e
  - bench run-tests
  - sleep 5
  - bench run-ui-tests --app frappe
