@@ -5140,11 +5140,7 @@ def test_user_context_invalid_user_id(self):
51405140 uc = self .optimizely .create_user_context (u )
51415141 self .assertIsNone (uc , "invalid user id should return none" )
51425142
5143- def test_invalid_flag_key (self ):
5144- """Tests invalid flag key in function get_flag_variation_by_key()."""
5145- pass
5146-
5147- def test_send_identify_event_when_called_with_odp_enabled (self ):
5143+ def test_send_identify_event__when_called_with_odp_enabled (self ):
51485144 mock_logger = mock .Mock ()
51495145 client = optimizely .Optimizely (json .dumps (self .config_dict_with_audience_segments ), logger = mock_logger )
51505146 with mock .patch .object (client , 'identify_user' ) as identify :
@@ -5154,6 +5150,34 @@ def test_send_identify_event_when_called_with_odp_enabled(self):
51545150 mock_logger .error .assert_not_called ()
51555151 client .close ()
51565152
5153+ def test_sdk_settings__accept_zero_for_flush_interval (self ):
5154+ mock_logger = mock .Mock ()
5155+ sdk_settings = OptimizelySdkSettings (odp_event_flush_interval = 0 )
5156+ client = optimizely .Optimizely (
5157+ json .dumps (self .config_dict_with_audience_segments ),
5158+ logger = mock_logger ,
5159+ settings = sdk_settings
5160+ )
5161+ flush_interval = client .odp_manager .event_manager .flush_interval
5162+
5163+ self .assertEqual (flush_interval , 0 )
5164+ mock_logger .error .assert_not_called ()
5165+ client .close ()
5166+
5167+ def test_sdk_settings__should_use_default_when_odp_flush_interval_none (self ):
5168+ mock_logger = mock .Mock ()
5169+ sdk_settings = OptimizelySdkSettings (odp_event_flush_interval = None )
5170+ client = optimizely .Optimizely (
5171+ json .dumps (self .config_dict_with_audience_segments ),
5172+ logger = mock_logger ,
5173+ settings = sdk_settings
5174+ )
5175+ flush_interval = client .odp_manager .event_manager .flush_interval
5176+ self .assertEqual (flush_interval , enums .OdpEventManagerConfig .DEFAULT_FLUSH_INTERVAL )
5177+
5178+ mock_logger .error .assert_not_called ()
5179+ client .close ()
5180+
51575181 def test_sdk_settings__log_info_when_disabled (self ):
51585182 mock_logger = mock .Mock ()
51595183 sdk_settings = OptimizelySdkSettings (odp_disabled = True )
@@ -5162,6 +5186,7 @@ def test_sdk_settings__log_info_when_disabled(self):
51625186 logger = mock_logger ,
51635187 settings = sdk_settings
51645188 )
5189+
51655190 self .assertIsNone (client .odp_manager .event_manager )
51665191 self .assertIsNone (client .odp_manager .segment_manager )
51675192 mock_logger .info .assert_called_once_with ('ODP is disabled.' )
@@ -5211,6 +5236,36 @@ def test_sdk_settings__accept_cache_size_and_cache_timeout(self):
52115236 mock_logger .error .assert_not_called ()
52125237 client .close ()
52135238
5239+ def test_sdk_settings__use_default_cache_size_and_timeout_when_odp_flush_interval_none (self ):
5240+ mock_logger = mock .Mock ()
5241+ sdk_settings = OptimizelySdkSettings ()
5242+ client = optimizely .Optimizely (
5243+ json .dumps (self .config_dict_with_audience_segments ),
5244+ logger = mock_logger ,
5245+ settings = sdk_settings
5246+ )
5247+ segments_cache = client .odp_manager .segment_manager .segments_cache
5248+ self .assertEqual (segments_cache .timeout , enums .OdpSegmentsCacheConfig .DEFAULT_TIMEOUT_SECS )
5249+ self .assertEqual (segments_cache .capacity , enums .OdpSegmentsCacheConfig .DEFAULT_CAPACITY )
5250+
5251+ mock_logger .error .assert_not_called ()
5252+ client .close ()
5253+
5254+ def test_sdk_settings__accept_zero_cache_size_timeout_and_cache_size (self ):
5255+ mock_logger = mock .Mock ()
5256+ sdk_settings = OptimizelySdkSettings (segments_cache_size = 0 , segments_cache_timeout_in_secs = 0 )
5257+ client = optimizely .Optimizely (
5258+ json .dumps (self .config_dict_with_audience_segments ),
5259+ logger = mock_logger ,
5260+ settings = sdk_settings
5261+ )
5262+ segments_cache = client .odp_manager .segment_manager .segments_cache
5263+ self .assertEqual (segments_cache .capacity , 0 )
5264+ self .assertEqual (segments_cache .timeout , 0 )
5265+
5266+ mock_logger .error .assert_not_called ()
5267+ client .close ()
5268+
52145269 def test_sdk_settings__accept_valid_custom_cache (self ):
52155270 class CustomCache :
52165271 def reset (self ):
0 commit comments