@@ -16,71 +16,74 @@ def setUp(self):
1616 super (TestRavenDB16301 , self ).setUp ()
1717
1818 def test_can_use_conditional_load_lazily (self ):
19+ # Store 100 companies using bulk insert - it won't store identity property on the server
1920 with self .store .bulk_insert () as bulk_insert :
2021 for i in range (100 ):
2122 bulk_insert .store_by_entity (Company ())
2223
23- ids : List [Result ] = []
24- loads : List [Lazy [ConditionalLoadResult [Company ]]] = []
24+ conditional_loads : List [Lazy [ConditionalLoadResult [Company ]]] = []
2525
26- with self .store .open_session () as session1 :
27- ids = list (
28- session1 .advanced .document_query (object_type = Company )
26+ with self .store .open_session () as query_modify_session :
27+ id_and_cv_results = list (
28+ query_modify_session .advanced .document_query (object_type = Company )
2929 .wait_for_non_stale_results ()
3030 .select_fields_query_data (
3131 Result ,
3232 QueryData .custom_function ("o" , "{ Id : id(o), change_vector : getMetadata(o)['@change-vector'] }" ),
3333 )
3434 )
3535
36- all_ids = [single_id .Id for single_id in ids ]
37- session1 .load (all_ids , Company )
36+ all_ids = [single_id .Id for single_id in id_and_cv_results ]
37+ query_modify_session .load (all_ids , Company )
3838
39+ # load 50 first companies and update them
3940 res_ids = all_ids [0 :50 ]
4041
41- res = session1 .load (res_ids , Company )
42+ res = query_modify_session .load (res_ids , Company )
4243
4344 c = 0
4445 for key in res :
4546 c += 1
4647 res [key ].phone = c
4748
48- session1 .save_changes ()
49+ query_modify_session .save_changes ()
4950
5051 with self .store .open_session () as session :
51- # load last 10
52+ # load last 10 (track them in the session)
5253 session .load (all_ids [- 10 :])
5354 number_of_requests_per_session = session .advanced .number_of_requests
5455
55- for res in ids :
56- loads .append (session .advanced .lazily .conditional_load (res .Id , res .change_vector , Company ))
56+ for res in id_and_cv_results :
57+ conditional_loads .append (session .advanced .lazily .conditional_load (res .Id , res .change_vector , Company ))
5758
5859 session .advanced .eagerly .execute_all_pending_lazy_operations ()
5960
6061 self .assertEqual (number_of_requests_per_session + 1 , session .advanced .number_of_requests )
6162
6263 for i in range (100 ):
63- l = loads [i ]
64+ conditional_load = conditional_loads [i ]
6465
65- self .assertFalse (l .is_value_created )
66- conditional_load_resuilt = l .value
66+ self .assertFalse (conditional_load .is_value_created )
67+ conditional_load_result = conditional_load .value
6768
6869 if i < 50 :
6970 # load from server
70- self .assertEqual (ids [i ].Id , conditional_load_resuilt .entity .Id )
71+ self .assertEqual (id_and_cv_results [i ].Id , conditional_load_result .entity .Id )
7172 elif i < 90 :
7273 # not modified
73- self .assertIsNone ( conditional_load_resuilt . entity )
74- self .assertEqual ( ids [ i ]. change_vector , conditional_load_resuilt . change_vector )
74+ self .assertEqual ( id_and_cv_results [ i ]. change_vector , conditional_load_result . change_vector )
75+ self .assertIsNone ( conditional_load_result . entity )
7576
7677 else :
7778 # tracked in session
78- self .assertEqual (ids [i ].Id , conditional_load_resuilt .entity .Id )
79- self .assertIsNotNone (conditional_load_resuilt .entity )
80- self .assertEqual (ids [i ].change_vector , conditional_load_resuilt .change_vector )
79+ self .assertEqual (id_and_cv_results [i ].Id , conditional_load_result .entity .Id )
80+ self .assertIsNotNone (conditional_load_result .entity )
81+ self .assertEqual (id_and_cv_results [i ].change_vector , conditional_load_result .change_vector )
8182
8283 # not exist on server
83- lazy = session .advanced .lazily .conditional_load ("Companies/322-A" , ids [0 ].change_vector , Company )
84+ lazy = session .advanced .lazily .conditional_load (
85+ "Companies/322-A" , id_and_cv_results [0 ].change_vector , Company
86+ )
8487 load = lazy .value
8588 self .assertIsNone (load .entity )
8689 self .assertIsNone (load .change_vector )
0 commit comments