Skip to content

Commit 65089ea

Browse files
authored
PYTHON-5386 Better test assertions for isinstance (#2347)
1 parent 717fb47 commit 65089ea

28 files changed

+308
-308
lines changed

test/asynchronous/test_bulk.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ async def test_upsert(self):
281281
self.assertEqual(1, result.upserted_count)
282282
assert result.upserted_ids is not None
283283
self.assertEqual(1, len(result.upserted_ids))
284-
self.assertTrue(isinstance(result.upserted_ids.get(0), ObjectId))
284+
self.assertIsInstance(result.upserted_ids.get(0), ObjectId)
285285

286286
self.assertEqual(await self.coll.count_documents({"foo": "bar"}), 1)
287287

@@ -998,7 +998,7 @@ async def test_write_concern_failure_ordered(self):
998998

999999
failed = details["writeConcernErrors"][0]
10001000
self.assertEqual(64, failed["code"])
1001-
self.assertTrue(isinstance(failed["errmsg"], str))
1001+
self.assertIsInstance(failed["errmsg"], str)
10021002

10031003
await self.coll.delete_many({})
10041004
await self.coll.create_index("a", unique=True)
@@ -1105,12 +1105,12 @@ async def test_write_concern_failure_unordered(self):
11051105
failed = details["writeErrors"][0]
11061106
self.assertEqual(2, failed["index"])
11071107
self.assertEqual(11000, failed["code"])
1108-
self.assertTrue(isinstance(failed["errmsg"], str))
1108+
self.assertIsInstance(failed["errmsg"], str)
11091109
self.assertEqual(1, failed["op"]["a"])
11101110

11111111
failed = details["writeConcernErrors"][0]
11121112
self.assertEqual(64, failed["code"])
1113-
self.assertTrue(isinstance(failed["errmsg"], str))
1113+
self.assertIsInstance(failed["errmsg"], str)
11141114

11151115
upserts = details["upserted"]
11161116
self.assertEqual(1, len(upserts))

test/asynchronous/test_client.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ def make_db(base, name):
214214
self.assertRaises(InvalidName, make_db, self.client, "te/t")
215215
self.assertRaises(InvalidName, make_db, self.client, "te st")
216216

217-
self.assertTrue(isinstance(self.client.test, AsyncDatabase))
217+
self.assertIsInstance(self.client.test, AsyncDatabase)
218218
self.assertEqual(self.client.test, self.client["test"])
219219
self.assertEqual(self.client.test, AsyncDatabase(self.client, "test"))
220220

@@ -228,7 +228,7 @@ def test_get_database(self):
228228
self.assertEqual(write_concern, db.write_concern)
229229

230230
def test_getattr(self):
231-
self.assertTrue(isinstance(self.client["_does_not_exist"], AsyncDatabase))
231+
self.assertIsInstance(self.client["_does_not_exist"], AsyncDatabase)
232232

233233
with self.assertRaises(AttributeError) as context:
234234
self.client._does_not_exist
@@ -1274,15 +1274,15 @@ async def test_document_class(self):
12741274
await db.test.insert_one({"x": 1})
12751275

12761276
self.assertEqual(dict, c.codec_options.document_class)
1277-
self.assertTrue(isinstance(await db.test.find_one(), dict))
1278-
self.assertFalse(isinstance(await db.test.find_one(), SON))
1277+
self.assertIsInstance(await db.test.find_one(), dict)
1278+
self.assertNotIsInstance(await db.test.find_one(), SON)
12791279

12801280
c = await self.async_rs_or_single_client(document_class=SON)
12811281

12821282
db = c.pymongo_test
12831283

12841284
self.assertEqual(SON, c.codec_options.document_class)
1285-
self.assertTrue(isinstance(await db.test.find_one(), SON))
1285+
self.assertIsInstance(await db.test.find_one(), SON)
12861286

12871287
async def test_timeouts(self):
12881288
client = await self.async_rs_or_single_client(

test/asynchronous/test_collection.py

Lines changed: 50 additions & 50 deletions
Large diffs are not rendered by default.

test/asynchronous/test_cursor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,7 @@ async def test_clone(self):
959959
cursor = self.db.test.find().hint([("z", 1), ("a", 1)])
960960
cursor2 = copy.deepcopy(cursor)
961961
# Internal types are now dict rather than SON by default
962-
self.assertTrue(isinstance(cursor2._hint, dict))
962+
self.assertIsInstance(cursor2._hint, dict)
963963
self.assertEqual(cursor._hint, cursor2._hint)
964964

965965
@async_client_context.require_sync

test/asynchronous/test_custom_types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -793,7 +793,7 @@ async def test_grid_out_custom_opts(self):
793793
self.assertEqual(5, two._id)
794794
self.assertEqual(11, two.length)
795795
self.assertEqual(1000, two.chunk_size)
796-
self.assertTrue(isinstance(two.upload_date, datetime.datetime))
796+
self.assertIsInstance(two.upload_date, datetime.datetime)
797797
self.assertEqual({"foo": "red", "bar": "blue"}, two.metadata)
798798
self.assertEqual(3, two.bar)
799799

test/asynchronous/test_database.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def test_get_collection(self):
9191

9292
def test_getattr(self):
9393
db = self.client.pymongo_test
94-
self.assertTrue(isinstance(db["_does_not_exist"], AsyncCollection))
94+
self.assertIsInstance(db["_does_not_exist"], AsyncCollection)
9595

9696
with self.assertRaises(AttributeError) as context:
9797
db._does_not_exist
@@ -428,7 +428,7 @@ async def test_command_with_regex(self):
428428

429429
result = await db.command("aggregate", "test", pipeline=[], cursor={})
430430
for doc in result["cursor"]["firstBatch"]:
431-
self.assertTrue(isinstance(doc["r"], Regex))
431+
self.assertIsInstance(doc["r"], Regex)
432432

433433
async def test_command_bulkWrite(self):
434434
# Ensure bulk write commands can be run directly via db.command().
@@ -472,7 +472,7 @@ def test_password_digest(self):
472472
with self.assertRaises(TypeError):
473473
auth._password_digest(None) # type: ignore[arg-type, call-arg]
474474

475-
self.assertTrue(isinstance(auth._password_digest("mike", "password"), str))
475+
self.assertIsInstance(auth._password_digest("mike", "password"), str)
476476
self.assertEqual(
477477
auth._password_digest("mike", "password"), "cd7e45b3b2767dc2fa9b6b548457ed00"
478478
)
@@ -543,7 +543,7 @@ async def test_insert_find_one(self):
543543

544544
a_doc = SON({"hello": "world"})
545545
a_key = (await db.test.insert_one(a_doc)).inserted_id
546-
self.assertTrue(isinstance(a_doc["_id"], ObjectId))
546+
self.assertIsInstance(a_doc["_id"], ObjectId)
547547
self.assertEqual(a_doc["_id"], a_key)
548548
self.assertEqual(a_doc, await db.test.find_one({"_id": a_doc["_id"]}))
549549
self.assertEqual(a_doc, await db.test.find_one(a_key))

test/asynchronous/test_encryption.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2469,16 +2469,16 @@ async def asyncSetUp(self):
24692469

24702470
await encrypted_client.db.csfle.insert_one({"csfle": "csfle"})
24712471
doc = await unencrypted_client.db.csfle.find_one()
2472-
self.assertTrue(isinstance(doc["csfle"], Binary))
2472+
self.assertIsInstance(doc["csfle"], Binary)
24732473
await encrypted_client.db.csfle2.insert_one({"csfle2": "csfle2"})
24742474
doc = await unencrypted_client.db.csfle2.find_one()
2475-
self.assertTrue(isinstance(doc["csfle2"], Binary))
2475+
self.assertIsInstance(doc["csfle2"], Binary)
24762476
await encrypted_client.db.qe.insert_one({"qe": "qe"})
24772477
doc = await unencrypted_client.db.qe.find_one()
2478-
self.assertTrue(isinstance(doc["qe"], Binary))
2478+
self.assertIsInstance(doc["qe"], Binary)
24792479
await encrypted_client.db.qe2.insert_one({"qe2": "qe2"})
24802480
doc = await unencrypted_client.db.qe2.find_one()
2481-
self.assertTrue(isinstance(doc["qe2"], Binary))
2481+
self.assertIsInstance(doc["qe2"], Binary)
24822482
await encrypted_client.db.no_schema.insert_one({"no_schema": "no_schema"})
24832483
await encrypted_client.db.no_schema2.insert_one({"no_schema2": "no_schema2"})
24842484

test/asynchronous/test_grid_file.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ async def test_grid_in_default_opts(self):
150150

151151
a = AsyncGridIn(self.db.fs)
152152

153-
self.assertTrue(isinstance(a._id, ObjectId))
153+
self.assertIsInstance(a._id, ObjectId)
154154
self.assertRaises(AttributeError, setattr, a, "_id", 5)
155155

156156
self.assertEqual(None, a.filename)
@@ -195,7 +195,7 @@ async def test_grid_in_default_opts(self):
195195

196196
self.assertEqual(42, a.forty_two)
197197

198-
self.assertTrue(isinstance(a._id, ObjectId))
198+
self.assertIsInstance(a._id, ObjectId)
199199
self.assertRaises(AttributeError, setattr, a, "_id", 5)
200200

201201
self.assertEqual("my_file", a.filename)
@@ -209,7 +209,7 @@ async def test_grid_in_default_opts(self):
209209
self.assertEqual(255 * 1024, a.chunk_size)
210210
self.assertRaises(AttributeError, setattr, a, "chunk_size", 5)
211211

212-
self.assertTrue(isinstance(a.upload_date, datetime.datetime))
212+
self.assertIsInstance(a.upload_date, datetime.datetime)
213213
self.assertRaises(AttributeError, setattr, a, "upload_date", 5)
214214

215215
self.assertEqual(["foo"], a.aliases)
@@ -248,7 +248,7 @@ async def test_grid_out_default_opts(self):
248248
self.assertEqual(None, b.name)
249249
self.assertEqual(None, b.filename)
250250
self.assertEqual(255 * 1024, b.chunk_size)
251-
self.assertTrue(isinstance(b.upload_date, datetime.datetime))
251+
self.assertIsInstance(b.upload_date, datetime.datetime)
252252
self.assertEqual(None, b.aliases)
253253
self.assertEqual(None, b.metadata)
254254
self.assertEqual(None, b.md5)
@@ -309,7 +309,7 @@ async def test_grid_out_custom_opts(self):
309309
self.assertEqual(11, two.length)
310310
self.assertEqual("text/html", two.content_type)
311311
self.assertEqual(1000, two.chunk_size)
312-
self.assertTrue(isinstance(two.upload_date, datetime.datetime))
312+
self.assertIsInstance(two.upload_date, datetime.datetime)
313313
self.assertEqual(["foo"], two.aliases)
314314
self.assertEqual({"foo": 1, "bar": 2}, two.metadata)
315315
self.assertEqual(3, two.bar)

test/asynchronous/test_gridfs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ async def test_empty_file(self):
157157
assert raw is not None
158158
self.assertEqual(0, raw["length"])
159159
self.assertEqual(oid, raw["_id"])
160-
self.assertTrue(isinstance(raw["uploadDate"], datetime.datetime))
160+
self.assertIsInstance(raw["uploadDate"], datetime.datetime)
161161
self.assertEqual(255 * 1024, raw["chunkSize"])
162162
self.assertNotIn("md5", raw)
163163

test/asynchronous/test_gridfs_bucket.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ async def test_empty_file(self):
136136
assert raw is not None
137137
self.assertEqual(0, raw["length"])
138138
self.assertEqual(oid, raw["_id"])
139-
self.assertTrue(isinstance(raw["uploadDate"], datetime.datetime))
139+
self.assertIsInstance(raw["uploadDate"], datetime.datetime)
140140
self.assertEqual(255 * 1024, raw["chunkSize"])
141141
self.assertNotIn("md5", raw)
142142

0 commit comments

Comments
 (0)