Make test_connect_uri_with_authsource to focus on the key point

This commit is contained in:
RussellLuo 2015-04-25 10:22:24 +08:00
parent 6eb0bc50e2
commit b847bc0aba

View File

@ -109,27 +109,24 @@ class ConnectionTest(unittest.TestCase):
the option `authSource` in URI. the option `authSource` in URI.
""" """
# Create users # Create users
c = connect(db='mongoenginetest', alias='test') c = connect('mongoenginetest')
c.admin.system.users.remove({}) c.admin.system.users.remove({})
c.admin.add_user('username', 'password') c.admin.add_user('username', 'password')
# Authentication fails without "authSource" # Authentication fails without "authSource"
self.assertRaises( self.assertRaises(
ConnectionError, connect, 'mongoenginetest', ConnectionError, connect, 'mongoenginetest', alias='test1',
host='mongodb://username:password@localhost/mongoenginetest' host='mongodb://username:password@localhost/mongoenginetest'
) )
self.assertRaises(ConnectionError, get_db, 'test1')
# Authentication succeeds with "authSource" # Authentication succeeds with "authSource"
connect( connect(
'mongoenginetest', 'mongoenginetest', alias='test2',
host=('mongodb://username:password@localhost/' host=('mongodb://username:password@localhost/'
'mongoenginetest?authSource=admin') 'mongoenginetest?authSource=admin')
) )
db = get_db('test2')
conn = get_connection('test')
self.assertTrue(isinstance(conn, pymongo.mongo_client.MongoClient))
db = get_db('test')
self.assertTrue(isinstance(db, pymongo.database.Database)) self.assertTrue(isinstance(db, pymongo.database.Database))
self.assertEqual(db.name, 'mongoenginetest') self.assertEqual(db.name, 'mongoenginetest')