@@ -1483,10 +1483,13 @@ def test_find_raw_transaction(self):
1483
1483
session = session ).sort ('_id' ))
1484
1484
cmd = listener .results ['started' ][0 ]
1485
1485
self .assertEqual (cmd .command_name , 'find' )
1486
- self .assertEqual (cmd .command ['$clusterTime' ],
1487
- decode_all (session .cluster_time .raw )[0 ])
1486
+ self .assertIn ('$clusterTime' , cmd .command )
1488
1487
self .assertEqual (cmd .command ['startTransaction' ], True )
1489
1488
self .assertEqual (cmd .command ['txnNumber' ], 1 )
1489
+ # Ensure we update $clusterTime from the command response.
1490
+ last_cmd = listener .results ['succeeded' ][- 1 ]
1491
+ self .assertEqual (last_cmd .reply ['$clusterTime' ]['clusterTime' ],
1492
+ session .cluster_time ['clusterTime' ])
1490
1493
1491
1494
self .assertEqual (1 , len (batches ))
1492
1495
self .assertEqual (docs , decode_all (batches [0 ]))
@@ -1677,9 +1680,13 @@ def test_aggregate_raw_transaction(self):
1677
1680
[{'$sort' : {'_id' : 1 }}], session = session ))
1678
1681
cmd = listener .results ['started' ][0 ]
1679
1682
self .assertEqual (cmd .command_name , 'aggregate' )
1680
- self .assertEqual ( cmd . command [ '$clusterTime' ], session . cluster_time )
1683
+ self .assertIn ( '$clusterTime' , cmd . command )
1681
1684
self .assertEqual (cmd .command ['startTransaction' ], True )
1682
1685
self .assertEqual (cmd .command ['txnNumber' ], 1 )
1686
+ # Ensure we update $clusterTime from the command response.
1687
+ last_cmd = listener .results ['succeeded' ][- 1 ]
1688
+ self .assertEqual (last_cmd .reply ['$clusterTime' ]['clusterTime' ],
1689
+ session .cluster_time ['clusterTime' ])
1683
1690
self .assertEqual (1 , len (batches ))
1684
1691
self .assertEqual (docs , decode_all (batches [0 ]))
1685
1692
0 commit comments