diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-03-29 12:09:11 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-03-29 12:09:11 -0400 |
commit | 7dff6f6d490528f5e88493cdf4b14d3136b40d3c (patch) | |
tree | fbcf52e38902b0992914ff0f964e2450d7b049df /test/dialect/test_mssql.py | |
parent | 7aea1bfc8edaa028a557d5c358891e6104640b8b (diff) | |
download | sqlalchemy-7dff6f6d490528f5e88493cdf4b14d3136b40d3c.tar.gz |
- test all pymssql messages here
- changelog
Diffstat (limited to 'test/dialect/test_mssql.py')
-rw-r--r-- | test/dialect/test_mssql.py | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/test/dialect/test_mssql.py b/test/dialect/test_mssql.py index def70207e..0dfda9015 100644 --- a/test/dialect/test_mssql.py +++ b/test/dialect/test_mssql.py @@ -1210,28 +1210,28 @@ class MatchTest(fixtures.TestBase, AssertsCompiledSQL): eq_([1, 3, 5], [r.id for r in results]) -class ParseConnectTest(fixtures.TestBase, AssertsCompiledSQL): - @classmethod - def setup_class(cls): - global dialect - dialect = pyodbc.dialect() +class ParseConnectTest(fixtures.TestBase): def test_pyodbc_connect_dsn_trusted(self): + dialect = pyodbc.dialect() u = url.make_url('mssql://mydsn') connection = dialect.create_connect_args(u) eq_([['dsn=mydsn;Trusted_Connection=Yes'], {}], connection) def test_pyodbc_connect_old_style_dsn_trusted(self): + dialect = pyodbc.dialect() u = url.make_url('mssql:///?dsn=mydsn') connection = dialect.create_connect_args(u) eq_([['dsn=mydsn;Trusted_Connection=Yes'], {}], connection) def test_pyodbc_connect_dsn_non_trusted(self): + dialect = pyodbc.dialect() u = url.make_url('mssql://username:password@mydsn') connection = dialect.create_connect_args(u) eq_([['dsn=mydsn;UID=username;PWD=password'], {}], connection) def test_pyodbc_connect_dsn_extra(self): + dialect = pyodbc.dialect() u = \ url.make_url('mssql://username:password@mydsn/?LANGUAGE=us_' 'english&foo=bar') @@ -1241,12 +1241,14 @@ class ParseConnectTest(fixtures.TestBase, AssertsCompiledSQL): assert ";foo=bar" in dsn_string def test_pyodbc_connect(self): + dialect = pyodbc.dialect() u = url.make_url('mssql://username:password@hostspec/database') connection = dialect.create_connect_args(u) eq_([['DRIVER={SQL Server};Server=hostspec;Database=database;UI' 'D=username;PWD=password'], {}], connection) def test_pyodbc_connect_comma_port(self): + dialect = pyodbc.dialect() u = \ url.make_url('mssql://username:password@hostspec:12345/data' 'base') @@ -1255,6 +1257,7 @@ class ParseConnectTest(fixtures.TestBase, AssertsCompiledSQL): 'ase;UID=username;PWD=password'], {}], connection) def test_pyodbc_connect_config_port(self): + dialect = pyodbc.dialect() u = \ url.make_url('mssql://username:password@hostspec/database?p' 'ort=12345') @@ -1263,6 +1266,7 @@ class ParseConnectTest(fixtures.TestBase, AssertsCompiledSQL): 'D=username;PWD=password;port=12345'], {}], connection) def test_pyodbc_extra_connect(self): + dialect = pyodbc.dialect() u = \ url.make_url('mssql://username:password@hostspec/database?L' 'ANGUAGE=us_english&foo=bar') @@ -1275,6 +1279,7 @@ class ParseConnectTest(fixtures.TestBase, AssertsCompiledSQL): 'username;PWD=password;LANGUAGE=us_english;foo=bar'), True) def test_pyodbc_odbc_connect(self): + dialect = pyodbc.dialect() u = \ url.make_url('mssql:///?odbc_connect=DRIVER%3D%7BSQL+Server' '%7D%3BServer%3Dhostspec%3BDatabase%3Ddatabase' @@ -1284,6 +1289,7 @@ class ParseConnectTest(fixtures.TestBase, AssertsCompiledSQL): 'D=username;PWD=password'], {}], connection) def test_pyodbc_odbc_connect_with_dsn(self): + dialect = pyodbc.dialect() u = \ url.make_url('mssql:///?odbc_connect=dsn%3Dmydsn%3BDatabase' '%3Ddatabase%3BUID%3Dusername%3BPWD%3Dpassword' @@ -1293,6 +1299,7 @@ class ParseConnectTest(fixtures.TestBase, AssertsCompiledSQL): {}], connection) def test_pyodbc_odbc_connect_ignores_other_values(self): + dialect = pyodbc.dialect() u = \ url.make_url('mssql://userdiff:passdiff@localhost/dbdiff?od' 'bc_connect=DRIVER%3D%7BSQL+Server%7D%3BServer' @@ -1324,10 +1331,19 @@ class ParseConnectTest(fixtures.TestBase, AssertsCompiledSQL): def test_pymssql_disconnect(self): dialect = pymssql.dialect() - for error in ['Adaptive Server connection timed out', 'message 20003']: + for error in [ + 'Adaptive Server connection timed out', + 'message 20003', + "Error 10054", + "Not connected to any MS SQL server", + "Connection is closed" + ]: eq_(dialect.is_disconnect(error, None, None), True) - @testing.only_on(['mssql+pyodbc', 'mssql+pymssql'], "FreeTDS specific test") + eq_(dialect.is_disconnect("not an error", None, None), False) + + @testing.only_on(['mssql+pyodbc', 'mssql+pymssql'], + "FreeTDS specific test") def test_bad_freetds_warning(self): engine = engines.testing_engine() |