@@ -550,6 +550,46 @@ async def test_returns_error_if_auto_encryption_configured(self):
550550            "bulk_write does not currently support automatic encryption" , context .exception ._message 
551551        )
552552
553+     @async_client_context .require_version_min (8 , 0 , 0 , - 24 ) 
554+     @async_client_context .require_no_serverless  
555+     async  def  test_upserted_result (self ):
556+         client  =  await  self .async_rs_or_single_client ()
557+ 
558+         collection  =  client .db ["coll" ]
559+         self .addAsyncCleanup (collection .drop )
560+         await  collection .drop ()
561+ 
562+         models  =  []
563+         models .append (
564+             UpdateOne (
565+                 namespace = "db.coll" ,
566+                 filter = {"_id" : "a" },
567+                 update = {"$set" : {"x" : 1 }},
568+                 upsert = True ,
569+             )
570+         )
571+         models .append (
572+             UpdateOne (
573+                 namespace = "db.coll" ,
574+                 filter = {"_id" : None },
575+                 update = {"$set" : {"x" : 1 }},
576+                 upsert = True ,
577+             )
578+         )
579+         models .append (
580+             UpdateOne (
581+                 namespace = "db.coll" ,
582+                 filter = {"_id" : None },
583+                 update = {"$set" : {"x" : 1 }},
584+             )
585+         )
586+         result  =  await  client .bulk_write (models = models , verbose_results = True )
587+ 
588+         self .assertEqual (result .upserted_count , 2 )
589+         self .assertEqual (result .update_results [0 ].did_upsert , True )
590+         self .assertEqual (result .update_results [1 ].did_upsert , True )
591+         self .assertEqual (result .update_results [2 ].did_upsert , False )
592+ 
553593
554594# https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/tests/README.md#11-multi-batch-bulkwrites 
555595class  TestClientBulkWriteCSOT (AsyncIntegrationTest ):
0 commit comments