diff --git a/bson/objectid.py b/bson/objectid.py index fc00ccebb..ea765c830 100644 --- a/bson/objectid.py +++ b/bson/objectid.py @@ -140,6 +140,9 @@ class ObjectId(object): .. versionadded:: 2.3 """ + if not oid: + return False + try: ObjectId(oid) return True diff --git a/test/test_objectid.py b/test/test_objectid.py index dc33366b2..d7b950542 100644 --- a/test/test_objectid.py +++ b/test/test_objectid.py @@ -181,6 +181,7 @@ class TestObjectId(unittest.TestCase): self.assertEqual(oid_1_9, oid_1_10) def test_is_valid(self): + self.assertFalse(ObjectId.is_valid(None)) self.assertFalse(ObjectId.is_valid(4)) self.assertFalse(ObjectId.is_valid(175.0)) self.assertFalse(ObjectId.is_valid({"test": 4}))