@@ -62,6 +62,16 @@ def change_number_mock():
6262 change_number_mock ._calls = 0
6363 storage .get_change_number .side_effect = change_number_mock
6464
65+ class flag_set_filter ():
66+ def should_filter ():
67+ return False
68+
69+ def intersect (sets ):
70+ return True
71+ storage .flag_set_filter = flag_set_filter
72+ storage .flag_set_filter .flag_sets = {}
73+ storage .flag_set_filter .sorted_flag_sets = []
74+
6575 api = mocker .Mock ()
6676
6777 def get_changes (* args , ** kwargs ):
@@ -92,10 +102,12 @@ def get_changes(*args, **kwargs):
92102 task .stop (stop_event )
93103 stop_event .wait ()
94104 assert not task .is_running ()
95- assert mocker .call (- 1 , fetch_options ) in api .fetch_splits .mock_calls
96- assert mocker .call (123 , fetch_options ) in api .fetch_splits .mock_calls
105+ assert api .fetch_splits .mock_calls [0 ][1 ][0 ] == - 1
106+ assert api .fetch_splits .mock_calls [0 ][1 ][1 ].cache_control_headers == True
107+ assert api .fetch_splits .mock_calls [1 ][1 ][0 ] == 123
108+ assert api .fetch_splits .mock_calls [1 ][1 ][1 ].cache_control_headers == True
97109
98- inserted_split = storage .put .mock_calls [0 ][1 ][0 ]
110+ inserted_split = storage .update .mock_calls [0 ][1 ][ 0 ][0 ]
99111 assert isinstance (inserted_split , Split )
100112 assert inserted_split .name == 'some_name'
101113
@@ -141,6 +153,16 @@ async def change_number_mock():
141153 change_number_mock ._calls = 0
142154 storage .get_change_number = change_number_mock
143155
156+ class flag_set_filter ():
157+ def should_filter ():
158+ return False
159+
160+ def intersect (sets ):
161+ return True
162+ storage .flag_set_filter = flag_set_filter
163+ storage .flag_set_filter .flag_sets = {}
164+ storage .flag_set_filter .sorted_flag_sets = []
165+
144166 async def set_change_number (* _ ):
145167 pass
146168 change_number_mock ._calls = 0
@@ -168,9 +190,10 @@ async def get_changes(change_number, fetch_options):
168190 api .fetch_splits = get_changes
169191 get_changes .called = 0
170192 self .inserted_split = None
171- async def put (split ):
172- self .inserted_split = split
173- storage .put = put
193+ async def update (split , deleted , change_number ):
194+ if len (split ) > 0 :
195+ self .inserted_split = split
196+ storage .update = update
174197
175198 fetch_options = FetchOptions (True )
176199 split_synchronizer = SplitSynchronizerAsync (api , storage )
@@ -180,10 +203,10 @@ async def put(split):
180203 assert task .is_running ()
181204 await task .stop ()
182205 assert not task .is_running ()
183- assert (self .change_number [0 ], self .fetch_options [0 ]) == (- 1 , fetch_options )
184- assert (self .change_number [1 ], self .fetch_options [1 ]) == (123 , fetch_options )
185- assert isinstance (self .inserted_split , Split )
186- assert self .inserted_split .name == 'some_name'
206+ assert (self .change_number [0 ], self .fetch_options [0 ]. cache_control_headers ) == (- 1 , fetch_options . cache_control_headers )
207+ assert (self .change_number [1 ], self .fetch_options [1 ]. cache_control_headers , self . fetch_options [ 1 ]. change_number ) == (123 , fetch_options . cache_control_headers , fetch_options . change_number )
208+ assert isinstance (self .inserted_split [ 0 ] , Split )
209+ assert self .inserted_split [ 0 ] .name == 'some_name'
187210
188211 @pytest .mark .asyncio
189212 async def test_that_errors_dont_stop_task (self , mocker ):
0 commit comments