run tests with mysql

This commit is contained in:
Gael Pasgrimaud
2016-03-07 14:54:52 +01:00
parent 7e715c131d
commit 6b6e16d073
3 changed files with 48 additions and 19 deletions
+15 -4
View File
@@ -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
+27 -11
View File
@@ -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/
+6 -4
View File
@@ -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()