. * * Tests Ruckus Wireless SmartZone cluster state trap handlers.. * * @link https://www.librenms.org * * @copyright 2019 Heath Barnhart * @author Heath Barnhart */ namespace LibreNMS\Tests\Feature\SnmpTraps; use App\Models\Device; use LibreNMS\Snmptrap\Dispatcher; use LibreNMS\Snmptrap\Trap; class RuckusSzClusterStateTest extends SnmpTrapTestCase { public function testClusterInMaintenance() { $device = Device::factory()->create(); /** @var Device $device */ $trapText = "$device->hostname UDP: [$device->ip]:57602->[192.168.5.5]:162 DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 SNMPv2-MIB::snmpTrapOID.0 RUCKUS-SZ-EVENT-MIB::ruckusSZClusterInMaintenanceStateTrap RUCKUS-SZ-EVENT-MIB::ruckusSZEventSeverity.0 \"Critical\" RUCKUS-SZ-EVENT-MIB::ruckusSZEventCode.0 \"807\" RUCKUS-SZ-EVENT-MIB::ruckusSZEventType.0 \"clusterInMaintenanceState\" RUCKUS-SZ-EVENT-MIB::ruckusSZClusterName.0 \"$device->hostname\""; $trap = new Trap($trapText); $message = "Smartzone cluster $device->hostname state changed to maintenance"; \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 3); $this->assertTrue(Dispatcher::handle($trap), 'Could not handle ruckusSZClusterInMaintenanceStateTrap'); } public function testClusterInService() { $device = Device::factory()->create(); /** @var Device $device */ $trapText = "$device->hostname UDP: [$device->ip]:57602->[192.168.5.5]:162 DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 SNMPv2-MIB::snmpTrapOID.0 RUCKUS-SZ-EVENT-MIB::ruckusSZClusterBackToInServiceTrap RUCKUS-SZ-EVENT-MIB::ruckusSZEventSeverity.0 \"Informational\" RUCKUS-SZ-EVENT-MIB::ruckusSZEventCode.0 \"808\" RUCKUS-SZ-EVENT-MIB::ruckusSZEventType.0 \"clusterBackToInService\" RUCKUS-SZ-EVENT-MIB::ruckusSZClusterName.0 \"$device->hostname\""; $trap = new Trap($trapText); $message = "Smartzone cluster $device->hostname is now in service"; \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); $this->assertTrue(Dispatcher::handle($trap), 'Could not handle ruckusSZClusterBackToInServiceTrap'); } }