def test_flush_once_max_timeout(self):
        event_dispatcher = CustomEventDispatcher()

        self.optimizely.logger = NoOpLogger()

        with mock.patch.object(self.optimizely,
                               'logger') as mock_config_logging:
            self._set_event_processor(event_dispatcher, mock_config_logging)

        user_event = self._build_conversion_event(self.event_name)
        self.event_processor.process(user_event)
        event_dispatcher.expect_conversion(self.event_name, self.test_user_id)

        time.sleep(self.TEST_TIMEOUT)

        self.assertStrictTrue(event_dispatcher.compare_events())
        self.assertEqual(0, self.event_processor.event_queue.qsize())
        self.assertTrue(mock_config_logging.debug.called)
        mock_config_logging.debug.assert_any_call(
            'Received event of type ConversionEvent for user test_user.')
        mock_config_logging.debug.assert_any_call('Flushing batch size 1')
        mock_config_logging.debug.assert_any_call(
            'Flush interval deadline. Flushed batch.')
        self.assertTrue(mock_config_logging.debug.call_count == 3)
        self.optimizely.logger = NoOpLogger()
 def setUp(self, *args, **kwargs):
     base.BaseTest.setUp(self, 'config_dict_with_multiple_experiments')
     self.test_user_id = 'test_user'
     self.event_name = 'test_event'
     self.event_queue = queue.Queue(maxsize=self.DEFAULT_QUEUE_CAPACITY)
     self.optimizely.logger = NoOpLogger()
     self.notification_center = self.optimizely.notification_center
Esempio n. 3
0
    def setUp(self, *args, **kwargs):
        base.BaseTest.setUp(self, 'config_dict_with_multiple_experiments')
        self.test_user_id = 'test_user'
        self.event_name = 'test_event'
        self.optimizely.logger = NoOpLogger()
        self.notification_center = self.optimizely.notification_center
        self.event_dispatcher = CustomForwardingEventDispatcher(is_updated=False)

        with mock.patch.object(self.optimizely, 'logger') as mock_config_logging:
            self.event_processor = ForwardingEventProcessor(
                self.event_dispatcher, mock_config_logging, self.notification_center
            )
Esempio n. 4
0
 def setUp(self, *args, **kwargs):
     self.logger = NoOpLogger()