. * * * Tests JnxLdpLspDown and JnxLdpLspUp traps from Juniper devices. * * @package LibreNMS * @link http://librenms.org * @copyright 2019 KanREN, Inc * @author Heath Barnhart */ namespace LibreNMS\Tests\Feature\SnmpTraps; use App\Models\Device; use App\Models\Ipv4Address; use LibreNMS\Snmptrap\Dispatcher; use LibreNMS\Snmptrap\Trap; use LibreNMS\Tests\Feature\SnmpTraps\SnmpTrapTestCase; class JnxLdpLspTest extends SnmpTrapTestCase { public function testLdpLspDownTrap() { $device = factory(Device::class)->create(); $ipv4 = factory(Ipv4Address::class)->make(); $trapText = "$device->hostname UDP: [$device->ip]:64610->[192.168.5.5]:162 DISMAN-EVENT-MIB::sysUpTimeInstance 198:2:10:48.91 SNMPv2-MIB::snmpTrapOID.0 JUNIPER-LDP-MIB::jnxLdpLspDown JUNIPER-LDP-MIB::jnxLdpLspFec.0 $ipv4->ipv4_address JUNIPER-LDP-MIB::jnxLdpRtrid.0 $device->ip JUNIPER-LDP-MIB::jnxLdpLspDownReason.0 topologyChanged JUNIPER-LDP-MIB::jnxLdpLspFecLen.0 32 JUNIPER-LDP-MIB::jnxLdpInstanceName.0 \"test instance down\" SNMPv2-MIB::snmpTrapEnterprise.0 JUNIPER-CHASSIS-DEFINES-MIB::jnxProductNameMX480"; $trap = new Trap($trapText); $message = "LDP session test instance down from $device->ip to $ipv4->ipv4_address has gone down due to topologyChanged"; \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 4); $this->assertTrue(Dispatcher::handle($trap), 'Could not handle JnxLdpLspDown trap'); } public function testLdpLspUpTrap() { $device = factory(Device::class)->create(); $ipv4 = factory(Ipv4Address::class)->make(); $trapText = "$device->hostname UDP: [$device->ip]:64610->[192.168.5.5]:162 DISMAN-EVENT-MIB::sysUpTimeInstance 198:2:10:48.91 SNMPv2-MIB::snmpTrapOID.0 JUNIPER-LDP-MIB::jnxLdpLspUp JUNIPER-LDP-MIB::jnxLdpLspFec.0 $ipv4->ipv4_address JUNIPER-LDP-MIB::jnxLdpRtrid.0 $device->ip JUNIPER-LDP-MIB::jnxLdpLspFecLen.0 32 JUNIPER-LDP-MIB::jnxLdpInstanceName.0 \"test instance up\" SNMPv2-MIB::snmpTrapEnterprise.0 JUNIPER-CHASSIS-DEFINES-MIB::jnxProductNameMX480"; $trap = new Trap($trapText); $message = "LDP session test instance up from $device->ip to $ipv4->ipv4_address is now up."; \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 1); $this->assertTrue(Dispatcher::handle($trap), 'Could not handle JnxLdpLspUp trap'); } }