def testJournalWriteAlertDB4(self): ''' Test writing of Alert log queue after reading from DB ''' # This test does not work with duplicate checking -- probably don't want it to keep_ADC = self.force_env('TEAL_ALERT_DUPLICATE_CHECK', 'No') self.teal = Teal('data/journal_test/events_002.conf','stderr',msgLevel=self.msglevel) # Events je = Journal('DB test input EVENTS', file='data/journal_test/events_002.json') je.insert_in_db(truncate=True, no_delay=True) # Alerts ja = Journal('DB test input ALERTS', file='data/journal_test/alerts_002.json') ja.insert_in_db(truncate=False, no_delay=True) # Check events jedb = Journal('Read DB test EVENTS') jedb.select_from_db('event') self.assertTrue(je.deep_match(jedb, ignore_delay=True, ignore_times=False, ignore_rec_id=False)) # Check alerts jadb = Journal('Read DB test ALERTS') jadb.select_from_db('alert') self.assertTrue(ja.deep_match(jadb, ignore_delay=True, ignore_times=False, ignore_rec_id=False)) # Now insert into the Delivery Queue and make sure all come out jadb.inject_queue(get_service(SERVICE_ALERT_DELIVERY_Q), progress_cb=None, fail_on_invalid=False, no_delay=True) listeners = get_service(SERVICE_ALERT_DELIVERY).listeners for listener in listeners: name = listener.get_name() if name == 'Journal': j_out_all = listener.journal self.assertTrue(j_out_all.wait_for_entries(6)) self.assertTrue(j_out_all.deep_match(jadb, ignore_delay=True, ignore_times=True)) self.teal.shutdown() self.restore_env('TEAL_ALERT_DUPLICATE_CHECK', keep_ADC) return
def testJournalWriteEventDB1(self): ''' Test writing to Event log DB basic ''' self.teal = Teal('data/journal_test/events_001.conf','stderr',msgLevel=self.msglevel) j = Journal('DB test journal to write', file='data/journal_test/events_001.json') j.insert_in_db(truncate=True, no_delay=True) jdb = Journal('DB test journal to read') jdb.select_from_db('event') self.assertTrue(j.deep_match(jdb, ignore_delay=True, ignore_times=False, ignore_rec_id=False)) #p rint j #p rint jdb self.teal.shutdown() return
def testJournalWriteEventDB3(self): ''' Test reading from event DB with a subset of fields ''' self.teal = Teal('data/journal_test/events_001.conf','stderr',msgLevel=self.msglevel) j = Journal('DB test journal to write', file='data/journal_test/events_001.json') j.insert_in_db(truncate=True, use_rec_ids=False, no_delay=True) jdb = Journal('DB test journal to read') jdb.select_from_db('event', event_fields=[EVENT_ATTR_REC_ID, EVENT_ATTR_EVENT_ID]) jexp = Journal('DB expected', 'data/journal_test/events_004.json') self.assertTrue(jexp.deep_match(jdb, ignore_delay=True, ignore_times=False, ignore_rec_id=True)) #p rint j #p rint jdb self.teal.shutdown() return
def testJournalWriteAlertDB3(self): ''' Test getting only some fields of an alert ''' self.teal = Teal('data/journal_test/events_001.conf','stderr',msgLevel=self.msglevel) # Events je = Journal('DB test input EVENTS', file='data/journal_test/events_002.json') je.insert_in_db(truncate=True, no_delay=True) # Alerts ja = Journal('DB test input ALERTS', file='data/journal_test/alerts_002.json') ja.insert_in_db(truncate=False, no_delay=True) # Check alerts jadb = Journal('Read DB test ALERTS') jadb.select_from_db('alert', include_alert_assoc=False, alert_fields=[ALERT_ATTR_REC_ID, ALERT_ATTR_ALERT_ID, ALERT_ATTR_RECOMMENDATION]) jaexp = Journal('DB test expected', 'data/journal_test/alerts_005.json') self.assertTrue(jaexp.deep_match(jadb, ignore_delay=True, ignore_times=False, ignore_rec_id=False)) #p rint ja #p rint jadb self.teal.shutdown() return
def testJournalWriteAlertDB2(self): ''' Test getting alerts without associations ''' self.teal = Teal('data/journal_test/events_001.conf','stderr',msgLevel=self.msglevel) # Events je = Journal('DB test input EVENTS', file='data/journal_test/events_002.json') je.insert_in_db(truncate=True, no_delay=True) # Alerts ja = Journal('DB test input ALERTS', file='data/journal_test/alerts_002.json') ja.insert_in_db(truncate=False, no_delay=True) # Check alerts jadb = Journal('Read DB test ALERTS') jadb.select_from_db('alert', include_alert_assoc=False) jaexp = Journal('DB test expected', 'data/journal_test/alerts_003.json') self.assertTrue(jaexp.deep_match(jadb, ignore_delay=True, ignore_times=False, ignore_rec_id=False)) #p rint ja #p rint jadb self.teal.shutdown() return
def testJournalWriteAlertDB1(self): ''' Test writing of Alert log DB basic ''' self.teal = Teal('data/journal_test/events_001.conf','stderr',msgLevel=self.msglevel) # Events je = Journal('DB test input EVENTS', file='data/journal_test/events_002.json') je.insert_in_db(truncate=True, no_delay=True) # Alerts ja = Journal('DB test input ALERTS', file='data/journal_test/alerts_002.json') ja.insert_in_db(truncate=False, no_delay=True) # Check events jedb = Journal('Read DB test EVENTS') jedb.select_from_db('event') self.assertTrue(je.deep_match(jedb, ignore_delay=True, ignore_times=False, ignore_rec_id=False)) #p rint je #p rint jedb # Check alerts jadb = Journal('Read DB test ALERTS') jadb.select_from_db('alert') self.assertTrue(ja.deep_match(jadb, ignore_delay=True, ignore_times=False, ignore_rec_id=False)) #p rint ja #p rint jadb self.teal.shutdown() return