From e2f43d97a182c9818a09979c54df990f8d3b9982 Mon Sep 17 00:00:00 2001 From: Enno Lohmeier Date: Wed, 7 Feb 2018 21:33:10 +0100 Subject: [PATCH] use str port for mssql --- dj_database_url.py | 2 +- test_dj_database_url.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/dj_database_url.py b/dj_database_url.py index 6dc1fbb..cf0ad0a 100644 --- a/dj_database_url.py +++ b/dj_database_url.py @@ -102,7 +102,7 @@ def parse(url, engine=None, conn_max_age=0): # Lookup specified engine. engine = SCHEMES[url.scheme] if engine is None else engine - port = (str(url.port) if url.port and engine == SCHEMES['oracle'] + port = (str(url.port) if url.port and engine in [SCHEMES['oracle'], SCHEMES['mssql']] else url.port) # Update with environment configuration. diff --git a/test_dj_database_url.py b/test_dj_database_url.py index aaf931a..f9116fc 100644 --- a/test_dj_database_url.py +++ b/test_dj_database_url.py @@ -315,6 +315,19 @@ class DatabaseTestSuite(unittest.TestCase): assert url['OPTIONS']['driver'] == 'ODBC Driver 13 for SQL Server' assert 'currentSchema' not in url['OPTIONS'] + def test_mssql_instance_port_parsing(self): + url = 'mssql://uf07k1i6d8ia0v:wegauwhgeuioweg@ec2-107-21-253-135.compute-1.amazonaws.com\\insnsnss:12345/d8r82722r2kuvn?driver=ODBC Driver 13 for SQL Server' + url = dj_database_url.parse(url) + + assert url['ENGINE'] == 'sql_server.pyodbc' + assert url['NAME'] == 'd8r82722r2kuvn' + assert url['HOST'] == 'ec2-107-21-253-135.compute-1.amazonaws.com\\insnsnss' + assert url['USER'] == 'uf07k1i6d8ia0v' + assert url['PASSWORD'] == 'wegauwhgeuioweg' + assert url['PORT'] == '12345' + assert url['OPTIONS']['driver'] == 'ODBC Driver 13 for SQL Server' + assert 'currentSchema' not in url['OPTIONS'] + if __name__ == '__main__': unittest.main()