@@ -159,6 +159,16 @@ def test_get_config(self):
159
159
# Assert that config is set.
160
160
self .assertIsInstance (project_config_manager .get_config (), project_config .ProjectConfig )
161
161
162
+ def test_get_config_blocks (self ):
163
+ """ Test that get_config blocks until blocking timeout is hit. """
164
+ start_time = time .time ()
165
+ project_config_manager = config_manager .PollingConfigManager (sdk_key = 'sdk_key' ,
166
+ blocking_timeout = 5 )
167
+ # Assert get_config should block until blocking timeout.
168
+ project_config_manager .get_config ()
169
+ end_time = time .time ()
170
+ self .assertEqual (5 , round (end_time - start_time ))
171
+
162
172
163
173
@mock .patch ('requests.get' )
164
174
class PollingConfigManagerTest (base .BaseTest ):
@@ -217,7 +227,8 @@ def test_get_datafile_url__sdk_key_and_url_and_template_provided(self, _):
217
227
218
228
def test_set_update_interval (self , _ ):
219
229
""" Test set_update_interval with different inputs. """
220
- project_config_manager = config_manager .PollingConfigManager (sdk_key = 'some_key' )
230
+ with mock .patch ('optimizely.config_manager.PollingConfigManager.fetch_datafile' ):
231
+ project_config_manager = config_manager .PollingConfigManager (sdk_key = 'some_key' )
221
232
222
233
# Assert that if invalid update_interval is set, then exception is raised.
223
234
with self .assertRaisesRegexp (optimizely_exceptions .InvalidInputException ,
@@ -238,7 +249,8 @@ def test_set_update_interval(self, _):
238
249
239
250
def test_set_blocking_timeout (self , _ ):
240
251
""" Test set_blocking_timeout with different inputs. """
241
- project_config_manager = config_manager .PollingConfigManager (sdk_key = 'some_key' )
252
+ with mock .patch ('optimizely.config_manager.PollingConfigManager.fetch_datafile' ):
253
+ project_config_manager = config_manager .PollingConfigManager (sdk_key = 'some_key' )
242
254
243
255
# Assert that if invalid blocking_timeout is set, then exception is raised.
244
256
with self .assertRaisesRegexp (optimizely_exceptions .InvalidInputException ,
@@ -261,16 +273,10 @@ def test_set_blocking_timeout(self, _):
261
273
project_config_manager .set_blocking_timeout (5 )
262
274
self .assertEqual (5 , project_config_manager .blocking_timeout )
263
275
264
- # Assert get_config should block until blocking timeout.
265
- project_config_manager ._config_ready_event .clear ()
266
- start_time = time .time ()
267
- project_config_manager .get_config ()
268
- end_time = time .time ()
269
- self .assertEqual (5 , round (end_time - start_time ))
270
-
271
276
def test_set_last_modified (self , _ ):
272
277
""" Test that set_last_modified sets last_modified field based on header. """
273
- project_config_manager = config_manager .PollingConfigManager (sdk_key = 'some_key' )
278
+ with mock .patch ('optimizely.config_manager.PollingConfigManager.fetch_datafile' ):
279
+ project_config_manager = config_manager .PollingConfigManager (sdk_key = 'some_key' )
274
280
275
281
last_modified_time = 'Test Last Modified Time'
276
282
test_response_headers = {
0 commit comments