@@ -86,5 +86,70 @@ def get_config; end
8686 )
8787 expect ( optimizely_instance . config_manager ) . to eq ( http_project_config_manager )
8888 end
89+
90+ it 'should take event processor when flush interval and batch size are set' do
91+ Optimizely ::OptimizelyFactory . max_event_flush_interval ( 5 , spy_logger )
92+ Optimizely ::OptimizelyFactory . max_event_batch_size ( 100 , spy_logger )
93+
94+ event_processor = Optimizely ::BatchEventProcessor . new (
95+ event_dispatcher : event_dispatcher ,
96+ batch_size : 100 ,
97+ flush_interval : 5 ,
98+ notification_center : notification_center
99+ )
100+
101+ optimizely_instance = Optimizely ::OptimizelyFactory . custom_instance (
102+ 'sdk_key' ,
103+ datafile ,
104+ event_dispatcher ,
105+ spy_logger ,
106+ error_handler ,
107+ false ,
108+ user_profile_service ,
109+ nil ,
110+ notification_center
111+ )
112+
113+ expect ( optimizely_instance . event_processor ) . equal? event_processor
114+ optimizely_instance . close
115+ end
116+ end
117+
118+ describe '.max_event_batch_size' do
119+ it 'should log error message and return nil when invalid batch size provided' do
120+ expect ( Optimizely ::OptimizelyFactory . max_event_batch_size ( [ ] , spy_logger ) ) . to eq ( nil )
121+ expect ( Optimizely ::OptimizelyFactory . max_event_batch_size ( true , spy_logger ) ) . to eq ( nil )
122+ expect ( Optimizely ::OptimizelyFactory . max_event_batch_size ( 'test' , spy_logger ) ) . to eq ( nil )
123+ expect ( Optimizely ::OptimizelyFactory . max_event_batch_size ( 5.2 , spy_logger ) ) . to eq ( nil )
124+ expect ( Optimizely ::OptimizelyFactory . max_event_batch_size ( nil , spy_logger ) ) . to eq ( nil )
125+ expect ( spy_logger ) . to have_received ( :log ) . with ( Logger ::ERROR , 'Batch size is invalid, setting to default batch size 10.' ) . exactly ( 5 ) . times
126+ expect ( Optimizely ::OptimizelyFactory . max_event_batch_size ( 0 , spy_logger ) ) . to eq ( nil )
127+ expect ( Optimizely ::OptimizelyFactory . max_event_batch_size ( -2 , spy_logger ) ) . to eq ( nil )
128+ expect ( spy_logger ) . to have_received ( :log ) . with ( Logger ::ERROR , 'Batch size is negative, setting to default batch size 10.' ) . twice
129+ end
130+
131+ it 'should not log error and return batch size and when valid batch size provided' do
132+ expect ( Optimizely ::OptimizelyFactory . max_event_batch_size ( 5 , spy_logger ) ) . to eq ( 5 )
133+ expect ( spy_logger ) . not_to have_received ( :log )
134+ end
135+ end
136+
137+ describe '.max_event_flush_interval' do
138+ it 'should log error message and return nil when invalid flush interval provided' do
139+ expect ( Optimizely ::OptimizelyFactory . max_event_flush_interval ( [ ] , spy_logger ) ) . to eq ( nil )
140+ expect ( Optimizely ::OptimizelyFactory . max_event_flush_interval ( true , spy_logger ) ) . to eq ( nil )
141+ expect ( Optimizely ::OptimizelyFactory . max_event_flush_interval ( 'test' , spy_logger ) ) . to eq ( nil )
142+ expect ( Optimizely ::OptimizelyFactory . max_event_flush_interval ( nil , spy_logger ) ) . to eq ( nil )
143+ expect ( spy_logger ) . to have_received ( :log ) . with ( Logger ::ERROR , 'Flush interval is invalid, setting to default flush interval 30000.' ) . exactly ( 4 ) . times
144+ expect ( Optimizely ::OptimizelyFactory . max_event_flush_interval ( 0 , spy_logger ) ) . to eq ( nil )
145+ expect ( Optimizely ::OptimizelyFactory . max_event_flush_interval ( -2 , spy_logger ) ) . to eq ( nil )
146+ expect ( spy_logger ) . to have_received ( :log ) . with ( Logger ::ERROR , 'Flush interval is negative, setting to default flush interval 30000.' ) . twice
147+ end
148+
149+ it 'should not log error and return batch size and when valid flush interval provided' do
150+ expect ( Optimizely ::OptimizelyFactory . max_event_flush_interval ( 5 , spy_logger ) ) . to eq ( 5 )
151+ expect ( Optimizely ::OptimizelyFactory . max_event_flush_interval ( 5.5 , spy_logger ) ) . to eq ( 5.5 )
152+ expect ( spy_logger ) . not_to have_received ( :log )
153+ end
89154 end
90155end
0 commit comments