diff --git a/.travis.yml b/.travis.yml index c2636b754..d10fde17e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,22 +3,33 @@ language: python python: - "2.7" +env: + - DB="POSTGRESQL" + - DB="MYSQL" + +services: + - mysql + - postgres + before_install: - pip install codecov - + install: - python setup.py -q develop - - pip install -q psycopg2 + - pip install -q psycopg2 mysqlclient - pip install -q -r test-requirements.txt before_script: - psql -c 'create database modoboa_test;' -U postgres + - mysql -e "create database IF NOT EXISTS modoboa_test;" -uroot + - mysql -e "CREATE USER 'modoboa'@'localhost' IDENTIFIED BY 'modoboa'" -uroot; + - mysql -e "GRANT ALL PRIVILEGES ON * . * TO 'modoboa'@'localhost';" -uroot; -script: +script: - python ./tests.py - cd test_project - coverage run --source ../modoboa manage.py test modoboa.core modoboa.lib modoboa.admin.tests modoboa.limits modoboa.relaydomains after_success: - codecov - + diff --git a/test_project/test_project/settings.py b/test_project/test_project/settings.py index 9e938d703..8df3f5dd7 100644 --- a/test_project/test_project/settings.py +++ b/test_project/test_project/settings.py @@ -94,20 +94,36 @@ WSGI_APPLICATION = 'test_project.wsgi.application' # Database # https://docs.djangoproject.com/en/1.6/ref/settings/#databases -DATABASES = { +if os.environ.get('DB') == 'MYSQL': + DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': 'modoboa_test', - 'USER': 'postgres', - 'PASSWORD': '', - 'HOST': 'localhost', - 'PORT': '', - 'ATOMIC_REQUESTS': True, + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'NAME': 'modoboa_test', + 'USER': 'modoboa', + 'PASSWORD': 'modoboa', + 'HOST': 'localhost', + 'PORT': '', + 'ATOMIC_REQUESTS': True, - }, + }, -} + } +else: + DATABASES = { + + 'default': { + 'ENGINE': 'django.db.backends.postgresql_psycopg2', + 'NAME': 'modoboa_test', + 'USER': 'postgres', + 'PASSWORD': '', + 'HOST': 'localhost', + 'PORT': '', + 'ATOMIC_REQUESTS': True, + + }, + + } # Internationalization # https://docs.djangoproject.com/en/1.6/topics/i18n/ diff --git a/tests.py b/tests.py index 7cc4ad086..21fc99b58 100644 --- a/tests.py +++ b/tests.py @@ -1,17 +1,19 @@ # coding: utf-8 - +import os import tempfile import unittest from modoboa.lib.sysutils import exec_cmd +DB = os.environ.get("DB", "postgres") + class DeployTest(unittest.TestCase): - dbtype = "postgres" + dbtype = DB.lower() dbhost = "localhost" projname = "modoboa_test" - dbuser = "postgres" - dbpassword = "" + dbuser = DB == "MYSQL" and "modoboa" or "postgres" + dbpassword = DB == "MYSQL" and "modoboa" or "" def setUp(self): self.workdir = tempfile.mkdtemp()