From 8e5da6d2be2caa6bf32afe271c70106469d4ef24 Mon Sep 17 00:00:00 2001 From: TheGreatDoc Date: Fri, 5 Jun 2020 11:48:22 +0200 Subject: [PATCH] Add test --- .../SnmpTraps/UpsTrapsOnBatteryTest.php | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 tests/Feature/SnmpTraps/UpsTrapsOnBatteryTest.php diff --git a/tests/Feature/SnmpTraps/UpsTrapsOnBatteryTest.php b/tests/Feature/SnmpTraps/UpsTrapsOnBatteryTest.php new file mode 100644 index 0000000000..68712dcef3 --- /dev/null +++ b/tests/Feature/SnmpTraps/UpsTrapsOnBatteryTest.php @@ -0,0 +1,54 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @author TheGreatDoc + */ + +namespace LibreNMS\Tests\Feature\SnmpTraps; + +use App\Models\Device; +use App\Models\Ipv4Address; +use Illuminate\Foundation\Testing\DatabaseTransactions; +use LibreNMS\Snmptrap\Dispatcher; +use LibreNMS\Snmptrap\Trap; +use LibreNMS\Tests\DBTestCase; + +class UpsTrapsOnBatteryTest extends SnmpTrapTestCase +{ + public function testOnBattery() + { + $device = factory(Device::class)->create(); + + $trapText = "$device->hostname +UDP: [$device->ip]:161->[192.168.5.5]:162 +DISMAN-EVENT-MIB::sysUpTimeInstance 9:22:15:00.01 +SNMPv2-MIB::snmpTrapOID.0 UPS-MIB::upsTraps.0.1 +UPS-MIB::upsEstimatedMinutesRemaining.0 100 minutes +UPS-MIB::upsSecondsOnBattery.0 120 seconds +UPS-MIB::upsConfigLowBattTime.0 1 minutes"; + + $message = "UPS running on battery for 120 seconds. Estimated 100 minutes remaining"; + \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 5); + + $trap = new Trap($trapText); + $this->assertTrue(Dispatcher::handle($trap), 'Could not handle UPS-MIB::upsTraps.0.1 trap'); + } +}