@@ -392,3 +392,36 @@ def test_can_get_non_existing_revisions_by_change_vector_async_lazily(self):
392392
393393 self .assertEqual (1 , session .advanced .number_of_requests )
394394 self .assertIsNone (user )
395+
396+ def test_can_get_revisions_by_change_vectors_lazily (self ):
397+ id_ = "users/1"
398+
399+ self .setup_revisions (self .store , False , 123 )
400+
401+ with self .store .open_session () as session :
402+ user = User ()
403+ user .name = "Omer"
404+ session .store (user , id_ )
405+ session .save_changes ()
406+
407+ for i in range (10 ):
408+ with self .store .open_session () as session :
409+ user = session .load (id_ , Company )
410+ user .name = f"Omer{ i } "
411+ session .save_changes ()
412+
413+ with self .store .open_session () as session :
414+ revisions_metadata = session .advanced .revisions .get_metadata_for (id_ )
415+ self .assertEqual (11 , len (revisions_metadata ))
416+
417+ change_vectors = [x [constants .Documents .Metadata .CHANGE_VECTOR ] for x in revisions_metadata ]
418+ change_vectors2 = [x [constants .Documents .Metadata .CHANGE_VECTOR ] for x in revisions_metadata ]
419+
420+ revisions_lazy = session .advanced .revisions .lazily .get_by_change_vectors (change_vectors , User )
421+ revisions_lazy2 = session .advanced .revisions .lazily .get_by_change_vectors (change_vectors2 , User )
422+
423+ lazy_result = revisions_lazy .value
424+ revisions = session .advanced .revisions .get_by_change_vectors (change_vectors , User )
425+
426+ self .assertEqual (3 , session .advanced .number_of_requests )
427+ self .assertEqual (revisions .keys (), lazy_result .keys ())
0 commit comments