示例#1
0
 def testBasicTwo(self):
     '''Test that two listeners work'''
     lq = ListenableQueue('Queue 02')
     listener1 = SampleQueueListenerT('Listener 01T', lq)
     listener2 = SampleQueueListenerT('Listener 02T', lq)
     self.assertEqual(len(listener1.notifications), 0)
     self.assertEqual(len(listener2.notifications), 0)
     item = 'Item 02'
     lq.put_nowait(item)
     time.sleep(1)
     self.assertEqual(len(listener1.notifications), 1)
     self.assertTrue(item in listener1.notifications)
     self.assertEqual(len(listener2.notifications), 1)
     self.assertTrue(item in listener2.notifications)
     # unregister listener
     lq.unregister_listener(listener1)
     item2 = 'Item 03'
     lq.put_nowait(item2)
     time.sleep(1)
     self.assertEqual(len(listener1.notifications),1)
     self.assertTrue(item in listener1.notifications)
     self.assertEqual(len(listener2.notifications), 2)
     self.assertTrue(item in listener2.notifications)
     self.assertTrue(item2 in listener2.notifications)
     lq.shutdown()
     self.assertFalse(listener1.shutdown_immediate_flag) # It was unregistered before shutdown!
     self.assertTrue(listener2.shutdown_immediate_flag)
     self.assertEqual(len(listener1.notifications), 1) # It was unregistered before shutdown!
     self.assertEqual(len(listener2.notifications), 2) # EOD is not sent
     return
示例#2
0
 def testNoUnregister(self):
     '''Test that one listener works'''
     lq = ListenableQueue('Queue 01')
     listener1 = SampleQueueListenerWD('Listener 01T', lq)
     self.assertEqual(len(listener1.notifications), 0)
     item = 'Item 01'
     lq.put_nowait(item)
     time.sleep(1)
     self.assertEqual(len(listener1.notifications), 1)
     self.assertTrue(item in listener1.notifications)
     lq.shutdown()
     self.assertTrue(listener1.shutdown_immediate_flag)
     self.assertEqual(len(listener1.notifications), 1)  # EOD is not sent
     return
示例#3
0
 def testBasicOne(self):
     '''Test that one listener works'''
     lq = ListenableQueue('Queue 01')
     listener1 = SampleQueueListenerT('Listener 01T', lq)
     self.assertEqual(len(listener1.notifications), 0)
     item = 'Item 01'
     lq.put_nowait(item)
     time.sleep(1)
     self.assertEqual(len(listener1.notifications), 1)
     self.assertTrue(item in listener1.notifications)
     lq.shutdown()
     self.assertFalse(listener1.shutdown_immediate_flag)
     self.assertEqual(len(listener1.notifications), 2)
     return
示例#4
0
 def testAnalyzerBasicA(self):
     '''Test basic Analyzer creation using a Sample analyzer asynch'''
     inQ1 = ListenableQueue('inQ1')
     outQ1 = ListenableQueue('outQ1')
     outQL1 = SampleQueueListenerT('outQL1')
     outQ1.register_listener(outQL1)
     SimpleEventAnalyzerAllAlert('TestAnalyzer1', inQ1, outQ1, number=3)
     right_now = datetime.now()
     te1 = teal.Event.fromDict({EVENT_ATTR_REC_ID:1, EVENT_ATTR_EVENT_ID:'E1', EVENT_ATTR_TIME_OCCURRED: right_now})
     inQ1.put_nowait(te1)
     time.sleep(2)
     self.assertEqual(len(outQL1.notifications), 1)
     alert = outQL1.notifications[0]
     self.assertEquals(alert.get_rec_id(), 1)
     self.assertEquals(alert.alert_id, 'Alert 01')
     return
示例#5
0
 def testNoCallback(self):
     '''Test callback isn't called when 2nd True'''
     lq = ListenableQueue('Queue 03', self.process_callback)
     listener1 = SampleQueueListenerF('Listener 01F', lq)
     listener2 = SampleQueueListenerT('Listener 02T', lq)
     self.assertEqual(len(listener1.notifications), 0)
     self.assertEqual(len(listener2.notifications), 0)
     item = 'Item 02'
     lq.put_nowait(item)
     self.my_event.wait(2)
     self.assertEqual(self.callback_occurred, False)
     self.assertEqual(self.callback_item, None)
     self.assertEqual(len(listener1.notifications), 1)
     self.assertTrue(item in listener1.notifications)
     self.assertEqual(len(listener2.notifications), 1)
     self.assertTrue(item in listener2.notifications)
     lq.shutdown()
     self.assertTrue(listener1.shutdown_immediate_flag)
     self.assertTrue(listener2.shutdown_immediate_flag)
     self.assertEqual(len(listener1.notifications), 1) # EOD not sent
     self.assertEqual(len(listener2.notifications), 1) # EOD not sent
     return
示例#6
0
 def testCallback(self):
     '''Test that callback work when all false '''
     lq = ListenableQueue('Queue 03', self.process_callback)
     listener1 = SampleQueueListenerF('Listener 01F', lq)
     listener2 = SampleQueueListenerF('Listener 02F', lq)
     self.assertEqual(len(listener1.notifications), 0)
     self.assertEqual(len(listener2.notifications), 0)
     item = 'Item 02'
     lq.put_nowait(item)
     self.my_event.wait(2)
     self.assertEqual(self.callback_occurred, True)
     self.assertEqual(self.callback_item, item)
     self.assertEqual(len(listener1.notifications), 1)
     self.assertTrue(item in listener1.notifications)
     self.assertEqual(len(listener2.notifications), 1)
     self.assertTrue(item in listener2.notifications)
     lq.shutdown()
     self.assertFalse(listener1.shutdown_immediate_flag)
     self.assertFalse(listener2.shutdown_immediate_flag)
     self.assertEqual(len(listener1.notifications), 2)
     self.assertEqual(len(listener2.notifications), 2)
     return