Add travis config to test on sqlite, postgres, mysql

This commit is contained in:
Stefan Wehrmeyer 2014-01-31 17:41:17 +01:00
parent 9035edceeb
commit 2865e7c50e
2 changed files with 11 additions and 11 deletions

View File

@ -4,8 +4,16 @@ python:
- '3.3' - '3.3'
- '2.7' - '2.7'
- '2.6' - '2.6'
env:
- DATABASE_URL=sqlite:///:memory:
- DATABASE_URL=postgresql+psycopg2://postgres@127.0.0.1/dataset
- DATABASE_URL=mysql+pymysql://travis@127.0.0.1/dataset?charset=utf8
install: install:
- pip install flake8 - pip install flake8 psycopg2 pymysql
before_script:
- sh -c "if [ '$DATABASE_URL' = 'postgresql+psycopg2://postgres@127.0.0.1/dataset' ]; then psql -c 'DROP DATABASE IF EXISTS dataset;' -U postgres; fi"
- sh -c "if [ '$DATABASE_URL' = 'postgresql+psycopg2://postgres@127.0.0.1/dataset' ]; then psql -c 'create database dataset;' -U postgres; fi"
- sh -c "if [ '$DATABASE_URL' = 'mysql+pymysql://travis@127.0.0.1/dataset?charset=utf8' ]; then mysql -e 'create database IF NOT EXISTS dataset DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;'; fi"
script: script:
- flake8 --ignore=E501,E123,E124,E126,E127,E128 dataset test - flake8 --ignore=E501,E123,E124,E126,E127,E128 dataset test
- python setup.py test - python setup.py test

View File

@ -13,20 +13,12 @@ from .sample_data import TEST_DATA, TEST_CITY_1
class DatabaseTestCase(unittest.TestCase): class DatabaseTestCase(unittest.TestCase):
def setUp(self): def setUp(self):
self.old_db_url = os.environ.get('DATABASE_URL') os.environ.setdefault('DATABASE_URL', 'sqlite:///:memory:')
os.environ['DATABASE_URL'] = 'sqlite:///:memory:' self.db = connect(os.environ['DATABASE_URL'])
self.db = connect('sqlite:///:memory:')
self.tbl = self.db['weather'] self.tbl = self.db['weather']
for row in TEST_DATA: for row in TEST_DATA:
self.tbl.insert(row) self.tbl.insert(row)
def tearDown(self):
# ensure env variable was unset
if self.old_db_url is None:
del os.environ['DATABASE_URL']
else:
os.environ['DATABASE_URL'] = self.old_db_url
def test_valid_database_url(self): def test_valid_database_url(self):
assert self.db.url, os.environ['DATABASE_URL'] assert self.db.url, os.environ['DATABASE_URL']