@@ -48,22 +48,31 @@ def test_id_ordering(self):
4848 server .run ()
4949 self .addCleanup (server .stop )
5050
51+ # We also verify that the original document contains an _id field after each insert
52+ document = {"x" : 1 }
53+
5154 client = self .simple_client (server .uri , loadBalanced = True )
5255 collection = client .db .coll
53- with going (collection .insert_one , { "x" : 1 } ):
56+ with going (collection .insert_one , document ):
5457 request = server .receives ()
5558 self .assertEqual ("_id" , next (iter (request ["documents" ][0 ])))
5659 request .reply ({"ok" : 1 })
60+ self .assertIn ("_id" , document )
61+
62+ document = {"x1" : 1 }
5763
58- with going (collection .bulk_write , [InsertOne ({ "x1" : 1 } )]):
64+ with going (collection .bulk_write , [InsertOne (document )]):
5965 request = server .receives ()
6066 self .assertEqual ("_id" , next (iter (request ["documents" ][0 ])))
6167 request .reply ({"ok" : 1 })
68+ self .assertIn ("_id" , document )
6269
63- with going (client .bulk_write , [InsertOne (namespace = "db.coll" , document = {"x2" : 1 })]):
70+ document = {"x2" : 1 }
71+ with going (client .bulk_write , [InsertOne (namespace = "db.coll" , document = document )]):
6472 request = server .receives ()
6573 self .assertEqual ("_id" , next (iter (request ["ops" ][0 ]["document" ])))
6674 request .reply ({"ok" : 1 })
75+ self .assertIn ("_id" , document )
6776
6877 # Re-ordering user-supplied _id fields is not required by the spec, but PyMongo does it for performance reasons
6978 with going (collection .insert_one , {"x" : 1 , "_id" : 111 }):
0 commit comments