(self)
| 829 | self.assertIsInstance(error.get("errmsg"), str) |
| 830 | |
| 831 | def test_insert_many(self): |
| 832 | # This always uses the bulk API. |
| 833 | coll = self.client.pymongo_test.test |
| 834 | coll.drop() |
| 835 | self.listener.reset() |
| 836 | |
| 837 | big = "x" * (1024 * 1024 * 4) |
| 838 | docs = [{"_id": i, "big": big} for i in range(6)] |
| 839 | coll.insert_many(docs) |
| 840 | started = self.listener.started_events |
| 841 | succeeded = self.listener.succeeded_events |
| 842 | self.assertEqual(0, len(self.listener.failed_events)) |
| 843 | documents = [] |
| 844 | count = 0 |
| 845 | operation_id = started[0].operation_id |
| 846 | self.assertIsInstance(operation_id, int) |
| 847 | for start, succeed in zip(started, succeeded): |
| 848 | self.assertIsInstance(start, monitoring.CommandStartedEvent) |
| 849 | cmd = sanitize_cmd(start.command) |
| 850 | self.assertEqual(["insert", "ordered", "documents"], list(cmd.keys())) |
| 851 | self.assertEqual(coll.name, cmd["insert"]) |
| 852 | self.assertIs(True, cmd["ordered"]) |
| 853 | documents.extend(cmd["documents"]) |
| 854 | self.assertEqual("pymongo_test", start.database_name) |
| 855 | self.assertEqual("insert", start.command_name) |
| 856 | self.assertIsInstance(start.request_id, int) |
| 857 | self.assertEqual(self.client.address, start.connection_id) |
| 858 | self.assertIsInstance(succeed, monitoring.CommandSucceededEvent) |
| 859 | self.assertIsInstance(succeed.duration_micros, int) |
| 860 | self.assertEqual(start.command_name, succeed.command_name) |
| 861 | self.assertEqual(start.request_id, succeed.request_id) |
| 862 | self.assertEqual(start.connection_id, succeed.connection_id) |
| 863 | self.assertEqual(start.operation_id, operation_id) |
| 864 | self.assertEqual(succeed.operation_id, operation_id) |
| 865 | reply = succeed.reply |
| 866 | self.assertEqual(1, reply.get("ok")) |
| 867 | count += reply.get("n", 0) |
| 868 | self.assertEqual(documents, docs) |
| 869 | self.assertEqual(6, count) |
| 870 | |
| 871 | def test_insert_many_unacknowledged(self): |
| 872 | coll = self.client.pymongo_test.test |
nothing calls this directly
no test coverage detected