(self)
| 1427 | self.assertEqual(result.did_upsert, False) |
| 1428 | |
| 1429 | def test_update_many(self): |
| 1430 | db = self.db |
| 1431 | db.drop_collection("test") |
| 1432 | |
| 1433 | with self.assertRaises(ValueError): |
| 1434 | db.test.update_many({}, {"x": 1}) |
| 1435 | |
| 1436 | db.test.insert_one({"x": 4, "y": 3}) |
| 1437 | db.test.insert_one({"x": 5, "y": 5}) |
| 1438 | db.test.insert_one({"x": 4, "y": 4}) |
| 1439 | |
| 1440 | result = db.test.update_many({"x": 4}, {"$set": {"y": 5}}) |
| 1441 | self.assertIsInstance(result, UpdateResult) |
| 1442 | self.assertEqual(2, result.matched_count) |
| 1443 | self.assertIn(result.modified_count, (None, 2)) |
| 1444 | self.assertIsNone(result.upserted_id) |
| 1445 | self.assertTrue(result.acknowledged) |
| 1446 | self.assertEqual(3, db.test.count_documents({"y": 5})) |
| 1447 | |
| 1448 | result = db.test.update_many({"x": 5}, {"$set": {"y": 6}}) |
| 1449 | self.assertIsInstance(result, UpdateResult) |
| 1450 | self.assertEqual(1, result.matched_count) |
| 1451 | self.assertIn(result.modified_count, (None, 1)) |
| 1452 | self.assertIsNone(result.upserted_id) |
| 1453 | self.assertTrue(result.acknowledged) |
| 1454 | self.assertEqual(1, db.test.count_documents({"y": 6})) |
| 1455 | |
| 1456 | result = db.test.update_many({"x": 2}, {"$set": {"y": 1}}, True) |
| 1457 | self.assertIsInstance(result, UpdateResult) |
| 1458 | self.assertEqual(0, result.matched_count) |
| 1459 | self.assertIn(result.modified_count, (None, 0)) |
| 1460 | self.assertIsInstance(result.upserted_id, ObjectId) |
| 1461 | self.assertTrue(result.acknowledged) |
| 1462 | |
| 1463 | db = db.client.get_database(db.name, write_concern=WriteConcern(w=0)) |
| 1464 | result = db.test.update_many({"x": 0}, {"$inc": {"x": 1}}) |
| 1465 | self.assertIsInstance(result, UpdateResult) |
| 1466 | self.assertRaises(InvalidOperation, lambda: result.matched_count) |
| 1467 | self.assertRaises(InvalidOperation, lambda: result.modified_count) |
| 1468 | self.assertRaises(InvalidOperation, lambda: result.upserted_id) |
| 1469 | self.assertFalse(result.acknowledged) |
| 1470 | |
| 1471 | def test_update_check_keys(self): |
| 1472 | self.db.drop_collection("test") |
nothing calls this directly
no test coverage detected