Browse Source

Fix Azure database connection string parsing

pull/206/head
Clemens Wolff 5 years ago
parent
commit
02bbc413c3
2 changed files with 10 additions and 1 deletions
  1. 9
      app/server/tests/test_config.py
  2. 2
      azuredeploy.json

9
app/server/tests/test_config.py

@ -24,11 +24,20 @@ class TestDatabaseUrl(TestCase):
with setenv('DATABASE_URL', 'pgsql://u:p@h/d?sslmode=require'):
self._assert_sslmode_is('require')
def test_database_url_with_complex_user(self):
with setenv('DATABASE_URL', 'pgsql://user%40host:p@h/d'):
self._assert_user_is('user@host')
def _assert_sslmode_is(self, expected):
reload(settings)
actual = settings.DATABASES['default'].get('OPTIONS', {}).get('sslmode')
self.assertEqual(actual, expected)
def _assert_user_is(self, expected):
reload(settings)
actual = settings.DATABASES['default'].get('USER', '')
self.assertEqual(actual, expected)
@contextmanager
def setenv(key, value):

2
azuredeploy.json

@ -97,7 +97,7 @@
"databaseSkuTier": "GeneralPurpose",
"databaseSkuFamily": "Gen5",
"databaseSkuName": "[concat('GP_', variables('databaseSkuFamily'), '_', parameters('databaseCores'))]",
"databaseConnectionString": "[concat('pgsql://', parameters('adminUserName'), '@', variables('databaseServerName'), ':', parameters('adminPassword'), '@', variables('databaseServerName'), '.postgres.database.azure.com:5432/', parameters('databaseName'))]",
"databaseConnectionString": "[concat('pgsql://', parameters('adminUserName'), '%40', variables('databaseServerName'), ':', parameters('adminPassword'), '@', variables('databaseServerName'), '.postgres.database.azure.com:5432/', parameters('databaseName'))]",
"databaseVersion": "9.6",
"databaseServerName": "[concat(parameters('appName'),'-state')]",
"setupScriptName": "[concat(parameters('appName'),'-setup')]",

Loading…
Cancel
Save