MCPcopy Index your code
hub / github.com/mongodb/mongo-python-driver / test_bulk_write

Method test_bulk_write

test/test_monitoring.py:914–974  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

912 wait_until(check, "insert documents with w=0")
913
914 def test_bulk_write(self):
915 coll = self.client.pymongo_test.test
916 coll.drop()
917 self.listener.reset()
918
919 coll.bulk_write(
920 [
921 InsertOne({"_id": 1}),
922 UpdateOne({"_id": 1}, {"$set": {"x": 1}}),
923 DeleteOne({"_id": 1}),
924 ]
925 )
926 started = self.listener.started_events
927 succeeded = self.listener.succeeded_events
928 self.assertEqual(0, len(self.listener.failed_events))
929 operation_id = started[0].operation_id
930 pairs = list(zip(started, succeeded))
931 self.assertEqual(3, len(pairs))
932 for start, succeed in pairs:
933 self.assertIsInstance(start, monitoring.CommandStartedEvent)
934 self.assertEqual("pymongo_test", start.database_name)
935 self.assertIsInstance(start.request_id, int)
936 self.assertEqual(self.client.address, start.connection_id)
937 self.assertIsInstance(succeed, monitoring.CommandSucceededEvent)
938 self.assertIsInstance(succeed.duration_micros, int)
939 self.assertEqual(start.command_name, succeed.command_name)
940 self.assertEqual(start.request_id, succeed.request_id)
941 self.assertEqual(start.connection_id, succeed.connection_id)
942 self.assertEqual(start.operation_id, operation_id)
943 self.assertEqual(succeed.operation_id, operation_id)
944
945 expected = SON([("insert", coll.name), ("ordered", True), ("documents", [{"_id": 1}])])
946 self.assertEqualCommand(expected, started[0].command)
947 expected = SON(
948 [
949 ("update", coll.name),
950 ("ordered", True),
951 (
952 "updates",
953 [
954 SON(
955 [
956 ("q", {"_id": 1}),
957 ("u", {"$set": {"x": 1}}),
958 ("multi", False),
959 ("upsert", False),
960 ]
961 )
962 ],
963 ),
964 ]
965 )
966 self.assertEqualCommand(expected, started[1].command)
967 expected = SON(
968 [
969 ("delete", coll.name),
970 ("ordered", True),
971 ("deletes", [SON([("q", {"_id": 1}), ("limit", 1)])]),

Callers

nothing calls this directly

Calls 8

InsertOneClass · 0.90
UpdateOneClass · 0.90
DeleteOneClass · 0.90
SONClass · 0.90
dropMethod · 0.45
resetMethod · 0.45
bulk_writeMethod · 0.45
assertEqualCommandMethod · 0.45

Tested by

no test coverage detected