diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-03-15 17:11:08 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-03-15 17:17:21 -0400 |
| commit | 31f96c27a5fea302358ba580313a2f742c12b83d (patch) | |
| tree | 5ba8ebb50ead2ef07c9bf9b5ec1871ce1564aba8 /test | |
| parent | 224b03f9c006b12e3bbae9190ca9d0132e843208 (diff) | |
| download | sqlalchemy-31f96c27a5fea302358ba580313a2f742c12b83d.tar.gz | |
- changelog and docs for #3332, fixes #3332
- make docs for isolation level more consistent between postgresql
and mysql
- move mysql autocommit tests
Diffstat (limited to 'test')
| -rw-r--r-- | test/dialect/mysql/test_dialect.py | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/test/dialect/mysql/test_dialect.py b/test/dialect/mysql/test_dialect.py index 1288b50d7..ab719b368 100644 --- a/test/dialect/mysql/test_dialect.py +++ b/test/dialect/mysql/test_dialect.py @@ -11,6 +11,7 @@ import datetime class DialectTest(fixtures.TestBase): __backend__ = True + __only_on__ = 'mysql' def test_ssl_arguments_mysqldb(self): from sqlalchemy.dialects.mysql import mysqldb @@ -97,6 +98,29 @@ class DialectTest(fixtures.TestBase): conn = eng.connect() eq_(conn.dialect._connection_charset, enc) + def test_autocommit_isolation_level(self): + c = testing.db.connect().execution_options( + isolation_level='AUTOCOMMIT' + ) + assert c.execute('SELECT @@autocommit;').scalar() + + c = c.execution_options(isolation_level='READ COMMITTED') + assert not c.execute('SELECT @@autocommit;').scalar() + + def test_isolation_level(self): + values = { + # sqlalchemy -> mysql + 'READ UNCOMMITTED': 'READ-UNCOMMITTED', + 'READ COMMITTED': 'READ-COMMITTED', + 'REPEATABLE READ': 'REPEATABLE-READ', + 'SERIALIZABLE': 'SERIALIZABLE' + } + for sa_value, mysql_value in values.items(): + c = testing.db.connect().execution_options( + isolation_level=sa_value + ) + assert c.execute('SELECT @@tx_isolation;').scalar() == mysql_value + class SQLModeDetectionTest(fixtures.TestBase): __only_on__ = 'mysql' __backend__ = True @@ -163,26 +187,3 @@ class ExecutionTest(fixtures.TestBase): d = testing.db.scalar(func.sysdate()) assert isinstance(d, datetime.datetime) - @testing.only_on(['mysql+mysqldb', - 'mysql+mysqlconnector', - 'mysql+pymysql', - 'mysql+cymysql']) - def test_autocommit_isolation_level(self): - c = testing.db.connect().execution_options( - isolation_level='AUTOCOMMIT' - ) - assert c.execute('SELECT @@autocommit;').scalar() - - def test_isolation_level(self): - values = { - # sqlalchemy -> mysql - 'READ UNCOMMITTED': 'READ-UNCOMMITTED', - 'READ COMMITTED': 'READ-COMMITTED', - 'REPEATABLE READ': 'REPEATABLE-READ', - 'SERIALIZABLE': 'SERIALIZABLE' - } - for sa_value, mysql_value in values.items(): - c = testing.db.connect().execution_options( - isolation_level=sa_value - ) - assert c.execute('SELECT @@tx_isolation;').scalar() == mysql_value |
