. * * * Tests JnxDomAlertSet and JnxDomAlertCleared 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 LibreNMS\Snmptrap\Dispatcher; use LibreNMS\Snmptrap\Trap; use LibreNMS\Tests\Feature\SnmpTraps\SnmpTrapTestCase; class JnxPowerSupplyTest extends SnmpTrapTestCase { public function testJnxPowerSupplyFailureTrap() { $device = factory(Device::class)->create(); $trapText = "$device->hostname UDP: [$device->ip]:49716->[10.0.0.1]:162 DISMAN-EVENT-MIB::sysUpTimeInstance 470:23:25:41.21 SNMPv2-MIB::snmpTrapOID.0 JUNIPER-MIB::jnxPowerSupplyFailure JUNIPER-MIB::jnxContentsContainerIndex.2.4.0.0 2 JUNIPER-MIB::jnxContentsL1Index.2.4.0.0 4 JUNIPER-MIB::jnxContentsL2Index.2.4.0.0 0 JUNIPER-MIB::jnxContentsL3Index.2.4.0.0 0 JUNIPER-MIB::jnxContentsDescr.2.4.0.0 PEM 3 JUNIPER-MIB::jnxOperatingState.2.4.0.0 down SNMPv2-MIB::snmpTrapEnterprise.0 JUNIPER-CHASSIS-DEFINES-MIB::jnxProductNameMX960"; $trap = new Trap($trapText); $message = "Power Supply PEM 3 is down"; \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 5); $this->assertTrue(Dispatcher::handle($trap), 'Could not handle JnxPowerSupplyFailure'); } public function testJnxPowerSupplyOkTrap() { $device = factory(Device::class)->create(); $trapText = "$device->hostname UDP: [$device->ip]:49716->[10.0.0.1]:162 DISMAN-EVENT-MIB::sysUpTimeInstance 470:23:25:41.21 SNMPv2-MIB::snmpTrapOID.0 JUNIPER-MIB::jnxPowerSupplyOk JUNIPER-MIB::jnxContentsContainerIndex.2.4.0.0 2 JUNIPER-MIB::jnxContentsL1Index.2.4.0.0 4 JUNIPER-MIB::jnxContentsL2Index.2.4.0.0 0 JUNIPER-MIB::jnxContentsL3Index.2.4.0.0 0 JUNIPER-MIB::jnxContentsDescr.2.4.0.0 PEM 4 JUNIPER-MIB::jnxOperatingState.2.4.0.0 ok SNMPv2-MIB::snmpTrapEnterprise.0 JUNIPER-CHASSIS-DEFINES-MIB::jnxProductNameMX960"; $trap = new Trap($trapText); $message = "Power Supply PEM 4 is OK"; \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 1); $this->assertTrue(Dispatcher::handle($trap), 'Could not handle JnxPowerSupplyOk'); } }