Merge pull request #842 from bearstech/mysql_tests

run tests with mysql
This commit is contained in:
Antoine Nguyen
2016-03-10 11:23:33 +01:00
4 changed files with 51 additions and 21 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
+3 -2
View File
@@ -32,11 +32,12 @@ class DomainAPITestCase(ModoAPITestCase):
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
self.assertEqual(len(response.data), 2)
domain = response.data[0]
url = reverse(
"external_api:domain-detail", args=[response.data[0]["pk"]])
"external_api:domain-detail", args=[domain["pk"]])
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.data["name"], "test2.com")
self.assertEqual(response.data["name"], domain["name"])
def test_create_domain(self):
"""Check domain creation."""
+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()