@@ -1494,10 +1494,13 @@ def test_find_raw_transaction(self):
1494
1494
session = session ).sort ('_id' ))
1495
1495
cmd = listener .results ['started' ][0 ]
1496
1496
self .assertEqual (cmd .command_name , 'find' )
1497
- self .assertEqual (cmd .command ['$clusterTime' ],
1498
- decode_all (session .cluster_time .raw )[0 ])
1497
+ self .assertIn ('$clusterTime' , cmd .command )
1499
1498
self .assertEqual (cmd .command ['startTransaction' ], True )
1500
1499
self .assertEqual (cmd .command ['txnNumber' ], 1 )
1500
+ # Ensure we update $clusterTime from the command response.
1501
+ last_cmd = listener .results ['succeeded' ][- 1 ]
1502
+ self .assertEqual (last_cmd .reply ['$clusterTime' ]['clusterTime' ],
1503
+ session .cluster_time ['clusterTime' ])
1501
1504
1502
1505
self .assertEqual (1 , len (batches ))
1503
1506
self .assertEqual (docs , decode_all (batches [0 ]))
@@ -1688,9 +1691,13 @@ def test_aggregate_raw_transaction(self):
1688
1691
[{'$sort' : {'_id' : 1 }}], session = session ))
1689
1692
cmd = listener .results ['started' ][0 ]
1690
1693
self .assertEqual (cmd .command_name , 'aggregate' )
1691
- self .assertEqual ( cmd . command [ '$clusterTime' ], session . cluster_time )
1694
+ self .assertIn ( '$clusterTime' , cmd . command )
1692
1695
self .assertEqual (cmd .command ['startTransaction' ], True )
1693
1696
self .assertEqual (cmd .command ['txnNumber' ], 1 )
1697
+ # Ensure we update $clusterTime from the command response.
1698
+ last_cmd = listener .results ['succeeded' ][- 1 ]
1699
+ self .assertEqual (last_cmd .reply ['$clusterTime' ]['clusterTime' ],
1700
+ session .cluster_time ['clusterTime' ])
1694
1701
self .assertEqual (1 , len (batches ))
1695
1702
self .assertEqual (docs , decode_all (batches [0 ]))
1696
1703
0 commit comments