summaryrefslogtreecommitdiff
path: root/test/dialect/mssql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-09-16 17:40:06 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2014-09-16 17:40:06 -0400
commita985f84ed6223e7a7348dd6126f8de92012b635f (patch)
treea9dededa8995381139a19bed5915eea6d368576a /test/dialect/mssql
parentcc3dba01db0367d4172cca1b902976ac7718e4cf (diff)
downloadsqlalchemy-a985f84ed6223e7a7348dd6126f8de92012b635f.tar.gz
- Fixed the version string detection in the pymssql dialect to
work with Microsoft SQL Azure, which changes the word "SQL Server" to "SQL Azure". fixes #3151
Diffstat (limited to 'test/dialect/mssql')
-rw-r--r--test/dialect/mssql/test_engine.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/dialect/mssql/test_engine.py b/test/dialect/mssql/test_engine.py
index 8ac9c6c16..4b4780d43 100644
--- a/test/dialect/mssql/test_engine.py
+++ b/test/dialect/mssql/test_engine.py
@@ -7,6 +7,8 @@ from sqlalchemy.engine import url
from sqlalchemy.testing import fixtures
from sqlalchemy import testing
from sqlalchemy.testing import assert_raises_message, assert_warnings
+from sqlalchemy.testing.mock import Mock
+
class ParseConnectTest(fixtures.TestBase):
@@ -167,3 +169,21 @@ class ParseConnectTest(fixtures.TestBase):
assert_raises_message(exc.SAWarning,
'Unrecognized server version info',
engine.connect)
+
+
+class VersionDetectionTest(fixtures.TestBase):
+ def test_pymssql_version(self):
+ dialect = pymssql.MSDialect_pymssql()
+
+ for vers in [
+ "Microsoft SQL Server Blah - 11.0.9216.62",
+ "Microsoft SQL Server (XYZ) - 11.0.9216.62 \n"
+ "Jul 18 2014 22:00:21 \nCopyright (c) Microsoft Corporation",
+ "Microsoft SQL Azure (RTM) - 11.0.9216.62 \n"
+ "Jul 18 2014 22:00:21 \nCopyright (c) Microsoft Corporation"
+ ]:
+ conn = Mock(scalar=Mock(return_value=vers))
+ eq_(
+ dialect._get_server_version_info(conn),
+ (11, 0, 9216, 62)
+ ) \ No newline at end of file