From 07232fa1bd54f68fe145de6d6df0d6483d7612de Mon Sep 17 00:00:00 2001 From: Friedrich Lindenberg Date: Sat, 23 May 2015 14:35:28 +0200 Subject: [PATCH] Fix tests by giving up on mysql-connector driver. --- test/test_persistence.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/test/test_persistence.py b/test/test_persistence.py index 3c1c648..ce56bc2 100644 --- a/test/test_persistence.py +++ b/test/test_persistence.py @@ -119,14 +119,22 @@ class DatabaseTestCase(unittest.TestCase): def test_with(self): init_length = len(self.db['weather']) - try: + with self.assertRaises(ValueError): with self.db as tx: tx['weather'].insert({'date': datetime(2011, 1, 1), 'temperature': 1, 'place': u'tmp_place'}) - tx['weather'].insert({'date': True, 'temperature': 'wrong_value', 'place': u'tmp_place'}) - except SQLAlchemyError: - pass + raise ValueError() assert len(self.db['weather']) == init_length + def test_invalid_values(self): + if 'mysql.connector' in self.db.engine.dialect.dbapi.__name__: + # WARNING: mysql-connector seems to be doing some weird type casting upon insert. + # The mysql-python driver is not affected but it isn't compatible with Python 3 + # Conclusion: use postgresql. + return + with self.assertRaises(SQLAlchemyError): + tbl = self.db['weather'] + tbl.insert({'date': True, 'temperature': 'wrong_value', 'place': u'tmp_place'}) + def test_load_table(self): tbl = self.db.load_table('weather') assert tbl.table == self.tbl.table