Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

120 lines
4.0 KiB
PHP
Raw Permalink Normal View History

2019-04-29 08:39:20 -05:00
<?php
/**
* AdvaSysAlmTrapest.php
*
* -Description-
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
2021-02-09 00:29:04 +01:00
* along with this program. If not, see <https://www.gnu.org/licenses/>.
2019-04-29 08:39:20 -05:00
*
2021-02-09 00:29:04 +01:00
* @link https://www.librenms.org
2021-09-10 20:09:53 +02:00
*
2019-04-29 08:39:20 -05:00
* @copyright 2019 Heath Barnhart
* @author Heath Barnhart <hbarnhart@kanren.net>
*/
namespace LibreNMS\Tests\Feature\SnmpTraps;
2023-08-05 12:12:36 -05:00
use LibreNMS\Enum\Severity;
2019-10-13 13:40:38 +00:00
class AdvaSysAlmTrapTest extends SnmpTrapTestCase
2019-04-29 08:39:20 -05:00
{
2022-11-05 14:43:54 -05:00
public function testCriticalAlarm(): void
2019-04-29 08:39:20 -05:00
{
2022-11-05 14:43:54 -05:00
$this->assertTrapLogsMessage(<<<'TRAP'
{{ hostname }}
UDP: [{{ ip }}]:57602->[192.168.5.5]:162
2019-04-29 08:39:20 -05:00
DISMAN-EVENT-MIB::sysUpTimeInstance 0:0:15:22.68
SNMPv2-MIB::snmpTrapOID.0 CM-ALARM-MIB::cmSysAlmTrap
CM-ALARM-MIB::cmAlmIndex.5 5
CM-ALARM-MIB::cmSysAlmNotifCode.5 critical
CM-ALARM-MIB::cmSysAlmType.5 primntpsvrFailed
CM-ALARM-MIB::cmSysAlmSrvEff.5 nonServiceAffecting
CM-ALARM-MIB::cmSysAlmTime.5 2018-12-10,11:28:20.0,-6:0
CM-ALARM-MIB::cmSysAlmLocation.5 nearEnd
CM-ALARM-MIB::cmSysAlmDirection.5 receiveDirectionOnly
2022-11-05 14:43:54 -05:00
CM-ALARM-MIB::cmSysAlmDescr.5 "Critical alarm test"
TRAP,
'System Alarm: Critical alarm test Status: critical',
'Could not handle cmSysAlmTrap critical',
2023-08-05 12:12:36 -05:00
[Severity::Error],
2022-11-05 14:43:54 -05:00
);
2019-04-29 08:39:20 -05:00
}
2022-11-05 14:43:54 -05:00
public function testMajorAlarm(): void
2019-04-29 08:39:20 -05:00
{
2022-11-05 14:43:54 -05:00
$this->assertTrapLogsMessage(<<<'TRAP'
{{ hostname }}
UDP: [{{ ip }}]:57602->[192.168.5.5]:162
2019-04-29 08:39:20 -05:00
DISMAN-EVENT-MIB::sysUpTimeInstance 0:0:15:22.68
SNMPv2-MIB::snmpTrapOID.0 CM-ALARM-MIB::cmSysAlmTrap
CM-ALARM-MIB::cmAlmIndex.5 5
CM-ALARM-MIB::cmSysAlmNotifCode.5 major
CM-ALARM-MIB::cmSysAlmType.5 primntpsvrFailed
CM-ALARM-MIB::cmSysAlmSrvEff.5 nonServiceAffecting
CM-ALARM-MIB::cmSysAlmTime.5 2018-12-10,11:28:20.0,-6:0
CM-ALARM-MIB::cmSysAlmLocation.5 nearEnd
CM-ALARM-MIB::cmSysAlmDirection.5 receiveDirectionOnly
2022-11-05 14:43:54 -05:00
CM-ALARM-MIB::cmSysAlmDescr.5 "Major alarm test"
TRAP,
'System Alarm: Major alarm test Status: major',
'Could not handle cmSysAlmTrap major',
2023-08-05 12:12:36 -05:00
[Severity::Warning],
2022-11-05 14:43:54 -05:00
);
2019-04-29 08:39:20 -05:00
}
2022-11-05 14:43:54 -05:00
public function testMinorAlarm(): void
2019-04-29 08:39:20 -05:00
{
2022-11-05 14:43:54 -05:00
$this->assertTrapLogsMessage(<<<'TRAP'
{{ hostname }}
UDP: [{{ ip }}]:57602->[192.168.5.5]:162
2019-04-29 08:39:20 -05:00
DISMAN-EVENT-MIB::sysUpTimeInstance 0:0:15:22.68
SNMPv2-MIB::snmpTrapOID.0 CM-ALARM-MIB::cmSysAlmTrap
CM-ALARM-MIB::cmAlmIndex.5 5
CM-ALARM-MIB::cmSysAlmNotifCode.5 minor
CM-ALARM-MIB::cmSysAlmType.5 primntpsvrFailed
CM-ALARM-MIB::cmSysAlmSrvEff.5 nonServiceAffecting
CM-ALARM-MIB::cmSysAlmTime.5 2018-12-10,11:28:20.0,-6:0
CM-ALARM-MIB::cmSysAlmLocation.5 nearEnd
CM-ALARM-MIB::cmSysAlmDirection.5 receiveDirectionOnly
2022-11-05 14:43:54 -05:00
CM-ALARM-MIB::cmSysAlmDescr.5 "Minor alarm test"
TRAP,
'System Alarm: Minor alarm test Status: minor',
'Could not handle cmSysAlmTrap minor',
2023-08-05 12:12:36 -05:00
[Severity::Notice],
2022-11-05 14:43:54 -05:00
);
2019-04-29 08:39:20 -05:00
}
2022-11-05 14:43:54 -05:00
public function testClearedAlarm(): void
2019-04-29 08:39:20 -05:00
{
2022-11-05 14:43:54 -05:00
$this->assertTrapLogsMessage(<<<'TRAP'
{{ hostname }}
UDP: [{{ ip }}]:57602->[192.168.5.5]:162
2019-04-29 08:39:20 -05:00
DISMAN-EVENT-MIB::sysUpTimeInstance 0:0:15:22.68
SNMPv2-MIB::snmpTrapOID.0 CM-ALARM-MIB::cmSysAlmTrap
CM-ALARM-MIB::cmAlmIndex.5 5
CM-ALARM-MIB::cmSysAlmNotifCode.5 cleared
CM-ALARM-MIB::cmSysAlmType.5 primntpsvrFailed
CM-ALARM-MIB::cmSysAlmSrvEff.5 nonServiceAffecting
CM-ALARM-MIB::cmSysAlmTime.5 2018-12-10,11:28:20.0,-6:0
CM-ALARM-MIB::cmSysAlmLocation.5 nearEnd
CM-ALARM-MIB::cmSysAlmDirection.5 receiveDirectionOnly
2022-11-05 14:43:54 -05:00
CM-ALARM-MIB::cmSysAlmDescr.5 "Cleared alarm test"
TRAP,
'System Alarm: Cleared alarm test Status: cleared',
'Could not handle cmSysAlmTrap major',
2023-08-05 12:12:36 -05:00
[Severity::Ok],
2022-11-05 14:43:54 -05:00
);
2019-04-29 08:39:20 -05:00
}
}