diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-02-10 18:04:54 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-02-10 18:04:54 -0500 |
commit | ad8700a556d3ec9368dd80238dfddf456eeccd5f (patch) | |
tree | 26f4b05cdf7b63a5e66713759f2014a96b1bbf9c /test/dialect/test_mysql.py | |
parent | f367117562f3f75db53406f09bc402a7e14e96f4 (diff) | |
download | sqlalchemy-ad8700a556d3ec9368dd80238dfddf456eeccd5f.tar.gz |
- oursql dialect accepts the same "ssl" arguments in
create_engine() as that of MySQLdb. [ticket:2047]
Diffstat (limited to 'test/dialect/test_mysql.py')
-rw-r--r-- | test/dialect/test_mysql.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/dialect/test_mysql.py b/test/dialect/test_mysql.py index 9b92ddb09..a805d9838 100644 --- a/test/dialect/test_mysql.py +++ b/test/dialect/test_mysql.py @@ -9,11 +9,39 @@ import sets from sqlalchemy import * from sqlalchemy import sql, exc, schema, types as sqltypes, event from sqlalchemy.dialects.mysql import base as mysql +from sqlalchemy.engine.url import make_url + from test.lib.testing import eq_ from test.lib import * from test.lib.engines import utf8_engine import datetime + +class DialectTest(TestBase): + __only_on__ = 'mysql' + + @testing.only_on(['mysql+mysqldb', 'mysql+oursql'], + 'requires particular SSL arguments') + def test_ssl_arguments(self): + dialect = testing.db.dialect + kwarg = dialect.create_connect_args( + make_url("mysql://scott:tiger@localhost:3306/test" + "?ssl_ca=/ca.pem&ssl_cert=/cert.pem&ssl_key=/key.pem") + )[1] + # args that differ among mysqldb and oursql + for k in ('use_unicode', 'found_rows', 'client_flag'): + kwarg.pop(k, None) + eq_( + kwarg, + { + 'passwd': 'tiger', 'db': 'test', + 'ssl': {'ca': '/ca.pem', 'cert': '/cert.pem', + 'key': '/key.pem'}, + 'host': 'localhost', 'user': 'scott', + 'port': 3306 + } + ) + class TypesTest(TestBase, AssertsExecutionResults, AssertsCompiledSQL): "Test MySQL column types" |