From 2579ed754f29819e66f7659a858442570426b039 Mon Sep 17 00:00:00 2001 From: Stefan Wojcik Date: Sat, 25 Feb 2017 12:48:03 -0500 Subject: [PATCH] add unit tests for setting the connection pool size --- tests/test_connection.py | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/tests/test_connection.py b/tests/test_connection.py index cc75f1e7..91d8e002 100644 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -285,8 +285,7 @@ class ConnectionTest(unittest.TestCase): self.assertTrue(isinstance(conn, pymongo.mongo_client.MongoClient)) def test_connection_kwargs(self): - """Ensure that connection kwargs get passed to pymongo. - """ + """Ensure that connection kwargs get passed to pymongo.""" connect('mongoenginetest', alias='t1', tz_aware=True) conn = get_connection('t1') @@ -296,6 +295,29 @@ class ConnectionTest(unittest.TestCase): conn = get_connection('t2') self.assertFalse(get_tz_awareness(conn)) + def test_connection_pool_via_kwarg(self): + """Ensure we can specify a max connection pool size using + a connection kwarg. + """ + # Use "max_pool_size" or "maxpoolsize" depending on PyMongo version + # (former was changed to the latter as described in + # https://jira.mongodb.org/browse/PYTHON-854). + # TODO remove once PyMongo < 3.0 support is dropped + if pymongo.version_tuple[0] >= 3: + pool_size_kwargs = {'maxpoolsize': 100} + else: + pool_size_kwargs = {'max_pool_size': 100} + + conn = connect('mongoenginetest', alias='t1', **pool_size_kwargs) + self.assertEqual(conn.max_pool_size, 100) + + def test_connection_pool_via_uri(self): + """Ensure we can specify a max connection pool size using + an option in a connection URI. + """ + conn = connect(host='mongodb://localhost/test?maxpoolsize=100') + self.assertEqual(conn.max_pool_size, 100) + def test_write_concern(self): """Ensure write concern can be specified in connect() via a kwarg or as part of the connection URI.