@@ -241,17 +241,29 @@ def _register_test_connection(port, db_alias, preserved):
241241def _resolve_settings (conn_setting , removePass = True ):
242242 if conn_setting and isinstance (conn_setting , dict ):
243243 read_preference = False
244+ alias = conn_setting .get ('MONGODB_ALIAS' ,
245+ conn_setting .get ('alias' , DEFAULT_CONNECTION_NAME ))
246+ db = conn_setting .get ('MONGODB_DB' , conn_setting .get ('db' , 'test' ))
247+ host = conn_setting .get ('MONGODB_HOST' , conn_setting .get ('host' , 'localhost' ))
248+ port = conn_setting .get ('MONGODB_PORT' , conn_setting .get ('port' , 27017 ))
249+ username = conn_setting .get ('MONGODB_USERNAME' , conn_setting .get ('username' , None ))
250+ password = conn_setting .get ('MONGODB_PASSWORD' , conn_setting .get ('password' , None ))
251+
252+ if (not current_app .config .get ('TESTING' , False )
253+ and alias == DEFAULT_CONNECTION_NAME ):
254+ alias = "{0}_{1}" .format (db , port )
255+
244256 if IS_PYMONGO_3 :
245257 read_preference = ReadPreference .PRIMARY
246258
247259 resolved = {}
248260 resolved ['read_preference' ] = read_preference
249- resolved ['alias' ] = conn_setting . get ( 'MONGODB_ALIAS' , DEFAULT_CONNECTION_NAME )
250- resolved ['name' ] = conn_setting . get ( 'MONGODB_DB' , 'test' )
251- resolved ['host' ] = conn_setting . get ( 'MONGODB_HOST' , 'localhost' )
252- resolved ['password' ] = conn_setting . get ( 'MONGODB_PASSWORD' , None )
253- resolved ['port' ] = conn_setting . get ( 'MONGODB_PORT' , 27017 )
254- resolved ['username' ] = conn_setting . get ( 'MONGODB_USERNAME' , None )
261+ resolved ['alias' ] = alias
262+ resolved ['name' ] = db
263+ resolved ['host' ] = host
264+ resolved ['password' ] = password
265+ resolved ['port' ] = port
266+ resolved ['username' ] = username
255267 resolved ['replicaSet' ] = conn_setting .pop ('replicaset' , None )
256268
257269 host = resolved ['host' ]
0 commit comments