entrypoint.sh 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/usr/bin/env bash
  2. #
  3. # ENVIRONMENT VARIABLES ARE:
  4. #
  5. # * DATABASE_TYPE (values: postgresql, mysql, sqlite)
  6. #
  7. # Ensure DATABASE_TYPE is set
  8. if ! [ -n "$DATABASE_TYPE" ]; then
  9. echo "You must set DATABASE_TYPE environment variable"
  10. exit 1
  11. fi
  12. # Ensure DATABASE_TYPE value
  13. case "$DATABASE_TYPE" in
  14. postgresql|mysql|sqlite) ;;
  15. *) echo "DATABASE_TYPE environment variable must be one of these: \
  16. postgresql, mysql, sqlite" ; exit 1 ;;
  17. esac
  18. # Prepare config files
  19. cp /tracim/tracim/development.ini.base /tracim/tracim/development.ini
  20. cp /tracim/tracim/wsgidav.conf.sample /tracim/tracim/wsgidav.conf
  21. # PostgreSQL case
  22. if [ "$DATABASE_TYPE" = postgresql ] ; then
  23. service postgresql start
  24. su - postgres -s /bin/bash -c "psql -c \"CREATE DATABASE tracim;\""
  25. su - postgres -s /bin/bash -c "psql -c \"ALTER USER postgres WITH PASSWORD 'dummy';\""
  26. sed -i "s/\(sqlalchemy.url *= *\).*/\sqlalchemy.url = postgresql:\/\/postgres:dummy@127.0.0.1:5432\/tracim?client_encoding=utf8/" /tracim/tracim/test.ini
  27. sed -i "s/\(sqlalchemy.url *= *\).*/\sqlalchemy.url = postgresql:\/\/postgres:dummy@127.0.0.1:5432\/tracim?client_encoding=utf8/" /tracim/tracim/development.ini
  28. fi
  29. # MySQL case
  30. if [ "$DATABASE_TYPE" = mysql ] ; then
  31. service mysql start
  32. mysql -e 'CREATE DATABASE tracim;'
  33. sed -i "s/\(sqlalchemy.url *= *\).*/\sqlalchemy.url = mysql+oursql:\/\/root@localhost\/tracim/" /tracim/tracim/test.ini
  34. sed -i "s/\(sqlalchemy.url *= *\).*/\sqlalchemy.url = mysql+oursql:\/\/root@localhost\/tracim/" /tracim/tracim/development.ini
  35. fi
  36. # SQLite case
  37. if [ "$DATABASE_TYPE" = sqlite ] ; then
  38. sed -i "s/\(sqlalchemy.url *= *\).*/\sqlalchemy.url = sqlite:\/\/\/tracim.sqlite/" /tracim/tracim/test.ini
  39. sed -i "s/\(sqlalchemy.url *= *\).*/\sqlalchemy.url = sqlite:\/\/\/tracim.sqlite/" /tracim/tracim/development.ini
  40. fi
  41. # Run tests
  42. cd /tracim/tracim && nosetests -c /tracim/tracim/test.ini -v