From e8d44cf6c4bb089c5b42d107c83684b0cdaa88fa Mon Sep 17 00:00:00 2001 From: Luke Lovett Date: Wed, 21 May 2014 22:39:11 +0000 Subject: [PATCH] PYTHON-681 Make sure forceerror command and subsequent calls to error() and previous_error() happen on same socket in tests --- test/test_database.py | 51 ++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/test/test_database.py b/test/test_database.py index cc17444f8..a57d99473 100644 --- a/test/test_database.py +++ b/test/test_database.py @@ -255,35 +255,36 @@ class TestDatabase(unittest.TestCase): def test_errors(self): db = self.client.pymongo_test - db.reset_error_history() - self.assertEqual(None, db.error()) - self.assertEqual(None, db.previous_error()) + with self.client.start_request(): + db.reset_error_history() + self.assertEqual(None, db.error()) + self.assertEqual(None, db.previous_error()) - db.command("forceerror", check=False) - self.assertTrue(db.error()) - self.assertTrue(db.previous_error()) + db.command("forceerror", check=False) + self.assertTrue(db.error()) + self.assertTrue(db.previous_error()) - db.command("forceerror", check=False) - self.assertTrue(db.error()) - prev_error = db.previous_error() - self.assertEqual(prev_error["nPrev"], 1) - del prev_error["nPrev"] - prev_error.pop("lastOp", None) - error = db.error() - error.pop("lastOp", None) - # getLastError includes "connectionId" in recent - # server versions, getPrevError does not. - error.pop("connectionId", None) - self.assertEqual(error, prev_error) + db.command("forceerror", check=False) + self.assertTrue(db.error()) + prev_error = db.previous_error() + self.assertEqual(prev_error["nPrev"], 1) + del prev_error["nPrev"] + prev_error.pop("lastOp", None) + error = db.error() + error.pop("lastOp", None) + # getLastError includes "connectionId" in recent + # server versions, getPrevError does not. + error.pop("connectionId", None) + self.assertEqual(error, prev_error) - db.test.find_one() - self.assertEqual(None, db.error()) - self.assertTrue(db.previous_error()) - self.assertEqual(db.previous_error()["nPrev"], 2) + db.test.find_one() + self.assertEqual(None, db.error()) + self.assertTrue(db.previous_error()) + self.assertEqual(db.previous_error()["nPrev"], 2) - db.reset_error_history() - self.assertEqual(None, db.error()) - self.assertEqual(None, db.previous_error()) + db.reset_error_history() + self.assertEqual(None, db.error()) + self.assertEqual(None, db.previous_error()) def test_command(self): db = self.client.admin