def test_message_parsing_normal_cisco_tengige_down(self): # Test to ensure the state and name is picked up from a normal down message message = "172.17.50.5:<187>539: *Mar 9 14:59:17.678: %LINK-3-UPDOWN: Interface TenGigE0/18, changed state to down" expected_int = "TenGigE0/18" state = True self.assertEqual(int_down.int_down_check(message), (state, expected_int))
def test_message_parsing_normal_cisco_gig_up(self): # Test to ensure the state and name is picked up from a normal up message, this shouldn't trigger message = "172.17.50.5:<187>539: *Mar 9 14:59:17.678: %LINK-3-UPDOWN: Interface GigabitEthernet0/18, changed state to up" expected_int = "" state = False self.assertEqual(int_down.int_down_check(message), (state, expected_int))
def test_message_parsing_vlan_int(self): # Don't want to automate on anything other than physical message = "192.168.0.2:<28>Jan 10 20:37:24 mib2d[960]: SNMP_TRAP_LINK_DOWN: ifIndex 507, ifAdminStatus up(1), ifOperStatus down(2), ifName vlan1" expected_int = "" state = False self.assertEqual(int_down.int_down_check(message), (state, expected_int))
def test_message_parsing_only_four_int_numbers(self): # Testing for more than 3 interface numbers as this might one day be a possibility message = "192.168.0.2:<28>Jan 10 20:37:24 mib2d[960]: SNMP_TRAP_LINK_DOWN: ifIndex 507, ifAdminStatus up(1), ifOperStatus down(2), ifName et-0/0/0/0" expected_int = "et-0/0/0/0" state = True self.assertEqual(int_down.int_down_check(message), (state, expected_int))
def test_message_parsing_only_two_int_numbers(self): # Testing for two interface numbers as some cisco devices do this. message = "192.168.0.2:<28>Jan 10 20:37:24 mib2d[960]: SNMP_TRAP_LINK_DOWN: ifIndex 507, ifAdminStatus up(1), ifOperStatus down(2), ifName et-0/0" expected_int = "et-0/0" state = True self.assertEqual(int_down.int_down_check(message), (state, expected_int))
def test_message_parsing_normal_juniper_et_down(self): # Test to ensure the state and name is picked up from a normal down message message = "192.168.0.2:<28>Jan 10 20:37:24 mib2d[960]: SNMP_TRAP_LINK_DOWN: ifIndex 507, ifAdminStatus up(1), ifOperStatus down(2), ifName et-0/0/11" expected_int = "et-0/0/11" state = True self.assertEqual(int_down.int_down_check(message), (state, expected_int))
def test_message_parsing_large_interface_numbers(self): # Test to ensure a rediculus amount of numbers in the interface is still valid. # This level is never going to exist but to future proof it, it is best to do this. message = "192.168.0.2:<28>Jan 10 20:37:24 mib2d[960]: SNMP_TRAP_LINK_DOWN: ifIndex 507, ifAdminStatus up(1), ifOperStatus down(2), ifName et-967365874563760/987435987398794387589/119873453548743954387539847598" expected_int = "et-967365874563760/987435987398794387589/119873453548743954387539847598" state = True self.assertEqual(int_down.int_down_check(message), (state, expected_int))