def test_match(self):
     # With both wrong
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_WRONG
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     expected = {'score_disconnects': 1, 'example_jid': '[email protected]/osad', 'example_ips': ['192.168.29.1', '192.168.29.3', '192.168.29.2'], 'score_deadlocks': 1}
     self.assertDictEqual(expected, sat5_frequent_osad_disconnects.main(input_data))
     # With only syslog
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_WRONG
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_CORRECT
     expected = {'score_disconnects': 1, 'example_jid': '[email protected]/osad', 'example_ips': ['192.168.29.1', '192.168.29.3', '192.168.29.2'], 'score_deadlocks': 0}
     self.assertDictEqual(expected, sat5_frequent_osad_disconnects.main(input_data))
     # With only DB
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_CORRECT
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     expected = {'score_disconnects': 0, 'example_jid': None, 'example_ips': [], 'score_deadlocks': 1}
     self.assertDictEqual(expected, sat5_frequent_osad_disconnects.main(input_data))
 def test_match(self):
     # With both wrong
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_WRONG
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     expected = {
         'score_disconnects': 1,
         'example_jid': '[email protected]/osad',
         'example_ips': ['192.168.29.1', '192.168.29.3', '192.168.29.2'],
         'score_deadlocks': 1
     }
     self.assertDictEqual(expected,
                          sat5_frequent_osad_disconnects.main(input_data))
     # With only syslog
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_WRONG
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_CORRECT
     expected = {
         'score_disconnects': 1,
         'example_jid': '[email protected]/osad',
         'example_ips': ['192.168.29.1', '192.168.29.3', '192.168.29.2'],
         'score_deadlocks': 0
     }
     self.assertDictEqual(expected,
                          sat5_frequent_osad_disconnects.main(input_data))
     # With only DB
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_CORRECT
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     expected = {
         'score_disconnects': 0,
         'example_jid': None,
         'example_ips': [],
         'score_deadlocks': 1
     }
     self.assertDictEqual(expected,
                          sat5_frequent_osad_disconnects.main(input_data))
 def test_no_match(self):
     # With no match
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_CORRECT
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_CORRECT
     self.assertEqual(None, sat5_frequent_osad_disconnects.main(input_data))
     # With start date set after issues in the logs
     input_data = {}
     input_data['date'] = [START_DATE_CLEAN_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_WRONG
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     self.assertEqual(None, sat5_frequent_osad_disconnects.main(input_data))
     # With issues in PG92 log if we are on Sat560, there should be KeyError
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_CORRECT
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_560
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     self.assertRaises(KeyError, sat5_frequent_osad_disconnects.main,
                       input_data)
     # Even with issues in PG92 log if we are not on external PG, there should be no match
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_CORRECT
     input_data['rhn_conf'] = RHN_CONF_PG_EXT
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     self.assertEqual(None, sat5_frequent_osad_disconnects.main(input_data))
     # Even with issues in PG92 log if we are not on external Ora, there should be no match
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_CORRECT
     input_data['rhn_conf'] = RHN_CONF_ORA_EXT
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     self.assertEqual(None, sat5_frequent_osad_disconnects.main(input_data))
 def test_no_match(self):
     # With no match
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_CORRECT
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_CORRECT
     self.assertEqual(None, sat5_frequent_osad_disconnects.main(input_data))
     # With start date set after issues in the logs
     input_data = {}
     input_data['date'] = [START_DATE_CLEAN_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_WRONG
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     self.assertEqual(None, sat5_frequent_osad_disconnects.main(input_data))
     # With issues in PG92 log if we are on Sat560, there should be KeyError
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_CORRECT
     input_data['rhn_conf'] = RHN_CONF_PG_EMB
     input_data['installed-rpms'] = INSTALLED_RPMS_560
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     self.assertRaises(KeyError, sat5_frequent_osad_disconnects.main, input_data)
     # Even with issues in PG92 log if we are not on external PG, there should be no match
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_CORRECT
     input_data['rhn_conf'] = RHN_CONF_PG_EXT
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     self.assertEqual(None, sat5_frequent_osad_disconnects.main(input_data))
     # Even with issues in PG92 log if we are not on external Ora, there should be no match
     input_data = {}
     input_data['date'] = [START_DATE_STR]
     input_data['tail_n_100_var_log_messages'] = SYSLOG_CORRECT
     input_data['rhn_conf'] = RHN_CONF_ORA_EXT
     input_data['installed-rpms'] = INSTALLED_RPMS_570
     input_data['pgsql92_logs'] = DB92LOG_WRONG
     self.assertEqual(None, sat5_frequent_osad_disconnects.main(input_data))