1 | <?php |
||
2 | /** |
||
3 | * AdvaAttributeChangeTest.php |
||
4 | * |
||
5 | * -Description- |
||
6 | * |
||
7 | * This program is free software: you can redistribute it and/or modify |
||
8 | * it under the terms of the GNU General Public License as published by |
||
9 | * the Free Software Foundation, either version 3 of the License, or |
||
10 | * (at your option) any later version. |
||
11 | * |
||
12 | * This program is distributed in the hope that it will be useful, |
||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the |
||
15 | * GNU General Public License for more details. |
||
16 | * |
||
17 | * You should have received a copy of the GNU General Public License |
||
18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
||
19 | * |
||
20 | * @package LibreNMS |
||
21 | * @link http://librenms.org |
||
22 | * @copyright 2019 Heath Barnhart |
||
23 | * @author Heath Barnhart <[email protected]> |
||
24 | */ |
||
25 | |||
26 | namespace LibreNMS\Tests\Feature\SnmpTraps; |
||
27 | |||
28 | use App\Models\Device; |
||
29 | use Illuminate\Foundation\Testing\DatabaseTransactions; |
||
30 | use LibreNMS\Snmptrap\Dispatcher; |
||
31 | use LibreNMS\Snmptrap\Trap; |
||
32 | use LibreNMS\Tests\LaravelTestCase; |
||
33 | |||
34 | class AdvaAttributeChangeTest extends LaravelTestCase |
||
35 | { |
||
36 | use DatabaseTransactions; |
||
0 ignored issues
–
show
Bug
introduced
by
![]() |
|||
37 | |||
38 | public function testSyslogIPVersionModified() |
||
39 | { |
||
40 | $device = factory(Device::class)->create(); |
||
41 | |||
42 | $trapText = "$device->hostname |
||
43 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
44 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
45 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
46 | CM-SYSTEM-MIB::sysLogIpVersion.1 ipv6 |
||
47 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 0B 28 00 2D 06 00 \" |
||
48 | ADVA-MIB::neEventLogIndex.150 150 |
||
49 | ADVA-MIB::neEventLogTimeStamp.150 2018-12-10,9:11:40.5,-6:0"; |
||
50 | |||
51 | $trap = new Trap($trapText); |
||
52 | |||
53 | $message = "Syslog server 1 IP version set to ipv6"; |
||
54 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
55 | |||
56 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap IP version modified'); |
||
57 | } |
||
58 | |||
59 | public function testSyslogIP6AddrModified() |
||
60 | { |
||
61 | $device = factory(Device::class)->create(); |
||
62 | |||
63 | $trapText = "$device->hostname |
||
64 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
65 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
66 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
67 | CM-SYSTEM-MIB::sysLogIpv6Addr.1 2001:49d0:3c0c:0:0:0:0:1 |
||
68 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 0B 28 00 2D 06 00 \" |
||
69 | ADVA-MIB::neEventLogIndex.150 150 |
||
70 | ADVA-MIB::neEventLogTimeStamp.150 2018-12-10,9:11:40.5,-6:0"; |
||
71 | |||
72 | $trap = new Trap($trapText); |
||
73 | |||
74 | $message = "Syslog server 1 IP address changed to 2001:49d0:3c0c:0:0:0:0:1"; |
||
75 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
76 | |||
77 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap IPv6 address modified'); |
||
78 | } |
||
79 | |||
80 | public function testSyslogIPAddrModified() |
||
81 | { |
||
82 | $device = factory(Device::class)->create(); |
||
83 | |||
84 | $trapText = "$device->hostname |
||
85 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
86 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
87 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
88 | CM-SYSTEM-MIB::sysLogIpAddress.1 192.168.1.1 |
||
89 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 0B 28 00 2D 06 00 \" |
||
90 | ADVA-MIB::neEventLogIndex.150 150 |
||
91 | ADVA-MIB::neEventLogTimeStamp.150 2018-12-10,9:11:40.5,-6:0"; |
||
92 | |||
93 | $trap = new Trap($trapText); |
||
94 | |||
95 | $message = "Syslog server 1 IP address changed to 192.168.1.1"; |
||
96 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
97 | |||
98 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap IPv4 address modified'); |
||
99 | } |
||
100 | |||
101 | public function testSyslogPortModified() |
||
102 | { |
||
103 | $device = factory(Device::class)->create(); |
||
104 | |||
105 | $trapText = "$device->hostname |
||
106 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
107 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
108 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
109 | CM-SYSTEM-MIB::sysLogPort.1 514 |
||
110 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 0B 28 00 2D 06 00 \" |
||
111 | ADVA-MIB::neEventLogIndex.150 150 |
||
112 | ADVA-MIB::neEventLogTimeStamp.150 2018-12-10,9:11:40.5,-6:0"; |
||
113 | |||
114 | $trap = new Trap($trapText); |
||
115 | |||
116 | $message = "Syslog server 1 port changed to 514"; |
||
117 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
118 | |||
119 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap port modified'); |
||
120 | } |
||
121 | |||
122 | public function testAclModified() |
||
123 | { |
||
124 | $device = factory(Device::class)->create(); |
||
125 | |||
126 | $trapText = "$device->hostname |
||
127 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
128 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
129 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
130 | CM-SYSTEM-MIB::aclEntryEnabled.5 false |
||
131 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 11 16 00 2D 06 00 \" |
||
132 | ADVA-MIB::neEventLogIndex.155 155 |
||
133 | ADVA-MIB::neEventLogTimeStamp.155 2018-12-10,9:17:22.5,-6:0"; |
||
134 | |||
135 | $trap = new Trap($trapText); |
||
136 | |||
137 | $message = "ACL 5 modified"; |
||
138 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
139 | |||
140 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap ACL entry modified'); |
||
141 | } |
||
142 | |||
143 | public function testBannerModified() |
||
144 | { |
||
145 | $device = factory(Device::class)->create(); |
||
146 | |||
147 | $trapText = "$device->hostname |
||
148 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
149 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
150 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
151 | CM-SYSTEM-MIB::securityBanner.0 Test MoTD |
||
152 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 12 2B 00 2D 06 00 \" |
||
153 | ADVA-MIB::neEventLogIndex.157 157 |
||
154 | ADVA-MIB::neEventLogTimeStamp.157 2018-12-10,9:18:43.6,-6:0"; |
||
155 | |||
156 | $trap = new Trap($trapText); |
||
157 | |||
158 | $message = "MOTD/Banner modified"; |
||
159 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
160 | |||
161 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap banner modified'); |
||
162 | } |
||
163 | |||
164 | public function testTimeSourceModified() |
||
165 | { |
||
166 | $device = factory(Device::class)->create(); |
||
167 | |||
168 | $trapText = "$device->hostname |
||
169 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
170 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
171 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
172 | CM-SYSTEM-MIB::sysTimeOfDayType.0 ntp |
||
173 | F3-PTP-MIB::f3PtpSysTimeOfDayClock.0 SNMPv2-SMI::zeroDotZero |
||
174 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 1C 39 00 2D 06 00 \" |
||
175 | ADVA-MIB::neEventLogIndex.169 169 |
||
176 | ADVA-MIB::neEventLogTimeStamp.169 2018-12-10,9:28:57.1,-6:0"; |
||
177 | |||
178 | $trap = new Trap($trapText); |
||
179 | |||
180 | $message = "Time source set to ntp"; |
||
181 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
182 | |||
183 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap time source modified'); |
||
184 | |||
185 | $trapText = "$device->hostname |
||
186 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
187 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
188 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
189 | CM-SYSTEM-MIB::sysTimeOfDayType.0 local |
||
190 | F3-PTP-MIB::f3PtpSysTimeOfDayClock.0 SNMPv2-SMI::zeroDotZero |
||
191 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 1C 39 00 2D 06 00 \" |
||
192 | ADVA-MIB::neEventLogIndex.169 169 |
||
193 | ADVA-MIB::neEventLogTimeStamp.169 2018-12-10,9:28:57.1,-6:0"; |
||
194 | |||
195 | $trap = new Trap($trapText); |
||
196 | |||
197 | $message = "Time source set to local"; |
||
198 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
199 | |||
200 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap time source modified'); |
||
201 | } |
||
202 | |||
203 | public function testTimeZoneModified() |
||
204 | { |
||
205 | $device = factory(Device::class)->create(); |
||
206 | |||
207 | $trapText = "$device->hostname |
||
208 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
209 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
210 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
211 | F3-TIMEZONE-MIB::f3TimeZoneDstControlEnabled.0 true |
||
212 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 14 21 00 2D 06 00 \" |
||
213 | ADVA-MIB::neEventLogIndex.158 158 |
||
214 | ADVA-MIB::neEventLogTimeStamp.158 2018-12-10,9:20:33.5,-6:0"; |
||
215 | |||
216 | $trap = new Trap($trapText); |
||
217 | |||
218 | $message = "Daylight Savings Time enabled"; |
||
219 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
220 | |||
221 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap DST enabled'); |
||
222 | |||
223 | $trapText = "$device->hostname |
||
224 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
225 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
226 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
227 | F3-TIMEZONE-MIB::f3TimeZoneDstControlEnabled.0 false |
||
228 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 14 21 00 2D 06 00 \" |
||
229 | ADVA-MIB::neEventLogIndex.158 158 |
||
230 | ADVA-MIB::neEventLogTimeStamp.158 2018-12-10,9:20:33.5,-6:0"; |
||
231 | |||
232 | $trap = new Trap($trapText); |
||
233 | |||
234 | $message = "Daylight Savings Time disabled"; |
||
235 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
236 | |||
237 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap DST disabled'); |
||
238 | |||
239 | $trapText = "$device->hostname |
||
240 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
241 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
242 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
243 | F3-TIMEZONE-MIB::f3TimeZoneUtcOffset.0 -05:00 |
||
244 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 0A 15 1E 00 2D 05 00 \" |
||
245 | ADVA-MIB::neEventLogIndex.160 160 |
||
246 | ADVA-MIB::neEventLogTimeStamp.160 2018-12-10,10:21:30.3,-5:0"; |
||
247 | |||
248 | $trap = new Trap($trapText); |
||
249 | |||
250 | $message = "UTC offset (timezone) change to -05:00"; |
||
251 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
252 | |||
253 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap UTC offset modified'); |
||
254 | } |
||
255 | |||
256 | public function testNtpModified() |
||
257 | { |
||
258 | $device = factory(Device::class)->create(); |
||
259 | |||
260 | $trapText = "$device->hostname |
||
261 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
262 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
263 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
264 | CM-SYSTEM-MIB::ntpPrimaryServer.0 192.168.2.2 |
||
265 | CM-SYSTEM-MIB::ntpPrimaryServerIpVersion.0 ipv4 |
||
266 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 1E 11 00 2D 06 00 \" |
||
267 | ADVA-MIB::neEventLogIndex.170 170 |
||
268 | ADVA-MIB::neEventLogTimeStamp.170 2018-12-10,9:30:17.0,-6:0"; |
||
269 | |||
270 | $trap = new Trap($trapText); |
||
271 | |||
272 | $message = "Primary NTP server IP changed to 192.168.2.2"; |
||
273 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
274 | |||
275 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap NTP primary server modified'); |
||
276 | |||
277 | $trapText = "$device->hostname |
||
278 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
279 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
280 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
281 | CM-SYSTEM-MIB::ntpBackupServer.0 192.168.2.1 |
||
282 | CM-SYSTEM-MIB::ntpBackupServerIpVersion.0 ipv4 |
||
283 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 1E 11 00 2D 06 00 \" |
||
284 | ADVA-MIB::neEventLogIndex.170 170 |
||
285 | ADVA-MIB::neEventLogTimeStamp.170 2018-12-10,9:30:17.0,-6:0"; |
||
286 | |||
287 | $trap = new Trap($trapText); |
||
288 | |||
289 | $message = "Backup NTP server IP changed to 192.168.2.1"; |
||
290 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
291 | |||
292 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap NTP backup server modified'); |
||
293 | } |
||
294 | |||
295 | public function testAuthServerModified() |
||
296 | { |
||
297 | $device = factory(Device::class)->create(); |
||
298 | |||
299 | $trapText = "$device->hostname |
||
300 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
301 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
302 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
303 | CM-SECURITY-MIB::cmRemoteAuthServerAccountingPort.3 1810 |
||
304 | CM-SECURITY-MIB::cmRemoteAuthServerPort.3 1811 |
||
305 | CM-SECURITY-MIB::cmRemoteAuthServerIpAddress.3 192.168.1.1 |
||
306 | CM-SECURITY-MIB::cmRemoteAuthServerSecret.3 ***** |
||
307 | CM-SECURITY-MIB::cmRemoteAuthServerEnabled.3 true |
||
308 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 20 12 00 2D 06 00 \" |
||
309 | ADVA-MIB::neEventLogIndex.173 173 |
||
310 | ADVA-MIB::neEventLogTimeStamp.173 2018-12-10,9:32:18.1,-6:0"; |
||
311 | |||
312 | $trap = new Trap($trapText); |
||
313 | |||
314 | $message = "Authentication server 3 IP changed to 192.168.1.1"; |
||
315 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
316 | |||
317 | $message = "Authentication server 3 secret changed"; |
||
318 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
319 | |||
320 | $message = "Authentication server 3 enabled"; |
||
321 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
322 | |||
323 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap authentication server modified'); |
||
324 | |||
325 | $trapText = "$device->hostname |
||
326 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
327 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
328 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
329 | CM-SECURITY-MIB::cmRemoteAuthServerEnabled.3 false |
||
330 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 20 12 00 2D 06 00 \" |
||
331 | ADVA-MIB::neEventLogIndex.173 173 |
||
332 | ADVA-MIB::neEventLogTimeStamp.173 2018-12-10,9:32:18.1,-6:0"; |
||
333 | |||
334 | $trap = new Trap($trapText); |
||
335 | |||
336 | $message = "Authentication server 3 disabled"; |
||
337 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
338 | |||
339 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap authentication server disabled'); |
||
340 | } |
||
341 | |||
342 | public function testNeModified() |
||
343 | { |
||
344 | $device = factory(Device::class)->create(); |
||
345 | |||
346 | $trapText = "$device->hostname |
||
347 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
348 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
349 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
350 | CM-ENTITY-MIB::neName.1 adva-test-1 |
||
351 | CM-ENTITY-MIB::neCmdPromptPrefix.1 adva-test-1-prompt |
||
352 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 22 17 00 2D 06 00 \" |
||
353 | ADVA-MIB::neEventLogIndex.175 175 |
||
354 | ADVA-MIB::neEventLogTimeStamp.175 2018-12-10,9:34:23.0,-6:0"; |
||
355 | |||
356 | $trap = new Trap($trapText); |
||
357 | |||
358 | $message = "Network Element name changed to adva-test-1"; |
||
359 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
360 | |||
361 | $message = "Network Element prompt changed to adva-test-1-prompt"; |
||
362 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
363 | |||
364 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap network element modified'); |
||
365 | } |
||
366 | |||
367 | public function testSnmpDyingGaspStateModified() |
||
368 | { |
||
369 | $device = factory(Device::class)->create(); |
||
370 | |||
371 | $trapText = "$device->hostname |
||
372 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
373 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
374 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
375 | CM-ENTITY-MIB::ethernetNTEGE114ProCardSnmpDyingGaspEnabled.1.1.1 true |
||
376 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 24 0E 00 2D 06 00 \" |
||
377 | ADVA-MIB::neEventLogIndex.177 177 |
||
378 | ADVA-MIB::neEventLogTimeStamp.177 2018-12-10,9:36:14.5,-6:0"; |
||
379 | |||
380 | $trap = new Trap($trapText); |
||
381 | |||
382 | $message = "SNMP Dying Gasp is enabled"; |
||
383 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
384 | |||
385 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap SNMP dying gasp enabled'); |
||
386 | |||
387 | $trapText = "$device->hostname |
||
388 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
389 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
390 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
391 | CM-ENTITY-MIB::ethernetNTEGE114ProCardSnmpDyingGaspEnabled.1.1.1 false |
||
392 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 24 0E 00 2D 06 00 \" |
||
393 | ADVA-MIB::neEventLogIndex.177 177 |
||
394 | ADVA-MIB::neEventLogTimeStamp.177 2018-12-10,9:36:14.5,-6:0"; |
||
395 | |||
396 | $trap = new Trap($trapText); |
||
397 | |||
398 | $message = "SNMP Dying Gasp is disabled"; |
||
399 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
400 | |||
401 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap SNMP dying gasp disabled'); |
||
402 | } |
||
403 | |||
404 | public function testNetPortModified() |
||
405 | { |
||
406 | $device = factory(Device::class)->create(); |
||
407 | |||
408 | $trapText = "$device->hostname |
||
409 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
410 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
411 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
412 | CM-FACILITY-MIB::cmEthernetNetPortConfigSpeed.1.1.1.2 speed-auto-100MB-full |
||
413 | CM-FACILITY-MIB::cmEthernetNetPortMediaType.1.1.1.2 copper |
||
414 | CM-FACILITY-MIB::cmEthernetNetPortMDIXType.1.1.1.2 crossed |
||
415 | CM-FACILITY-MIB::cmEthernetNetPortAutoDiagEnabled.1.1.1.2 false |
||
416 | CM-FACILITY-MIB::cmEthernetNetPortAdminState.1.1.1.2 in-service |
||
417 | CM-FACILITY-MIB::cmEthernetNetPortMTU.1.1.1.2 9000 |
||
418 | CM-FACILITY-MIB::cmEthernetNetPortConfigSpeed.1.1.1.2 speed-auto-100MB-full |
||
419 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 29 31 00 2D 06 00 \" |
||
420 | ADVA-MIB::neEventLogIndex.188 188 |
||
421 | ADVA-MIB::neEventLogTimeStamp.188 2018-12-10,9:41:49.0,-6:0"; |
||
422 | |||
423 | $trap = new Trap($trapText); |
||
424 | |||
425 | $message = "Network Port 1-1-1-2 changed speed to speed-auto-100MB-full"; |
||
426 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
427 | |||
428 | $message = "Network Port 1-1-1-2 changed media to copper"; |
||
429 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
430 | |||
431 | $message = "Network Port 1-1-1-2 changed MDIX to crossed"; |
||
432 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
433 | |||
434 | $message = "Network Port 1-1-1-2 AutoDiagnostic disabled"; |
||
435 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
436 | |||
437 | $message = "Network Port 1-1-1-2 administrative state changed to in-service"; |
||
438 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
439 | |||
440 | $message = "Network Port 1-1-1-2 MTU changed to 9000 bytes"; |
||
441 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
442 | |||
443 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap network port modified specific messages'); |
||
444 | |||
445 | $trapText = "$device->hostname |
||
446 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
447 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
448 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
449 | CM-FACILITY-MIB::cmEthernetNetPortFakeOID.1.1.1.2 TestGenericMessage |
||
450 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 29 31 00 2D 06 00 \" |
||
451 | ADVA-MIB::neEventLogIndex.188 188 |
||
452 | ADVA-MIB::neEventLogTimeStamp.188 2018-12-10,9:41:49.0,-6:0"; |
||
453 | |||
454 | $trap = new Trap($trapText); |
||
455 | |||
456 | $message = "Network Port 1-1-1-2 modified"; |
||
457 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
458 | |||
459 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap network port modified generic message'); |
||
460 | } |
||
461 | |||
462 | public function testAccPortModied() |
||
463 | { |
||
464 | $device = factory(Device::class)->create(); |
||
465 | |||
466 | $trapText = "$device->hostname |
||
467 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
468 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
469 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
470 | CM-FACILITY-MIB::cmEthernetAccPortMediaType.1.1.1.4 fiber |
||
471 | CM-FACILITY-MIB::cmEthernetAccPortAutoDiagEnabled.1.1.1.4 false |
||
472 | CM-FACILITY-MIB::cmEthernetAccPortConfigSpeed.1.1.1.4 speed-auto-1000MB-full |
||
473 | CM-FACILITY-MIB::cmEthernetAccPortMDIXType.1.1.1.4 not-applicable |
||
474 | CM-FACILITY-MIB::cmEthernetAccPortMTU.1.1.1.4 9000 |
||
475 | CM-FACILITY-MIB::cmEthernetAccPortAdminState.1.1.1.4 maintenance |
||
476 | CM-FACILITY-MIB::cmAccPortExtRefPrioMapProfile.1.1.1.4 SNMPv2-SMI::zeroDotZero |
||
477 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 2B 16 00 2D 06 00 \" |
||
478 | ADVA-MIB::neEventLogIndex.214 214 |
||
479 | ADVA-MIB::neEventLogTimeStamp.214 2018-12-10,9:43:22.3,-6:0"; |
||
480 | |||
481 | $trap = new Trap($trapText); |
||
482 | |||
483 | $message = "Access Port 1-1-1-4 changed speed to speed-auto-1000MB-full"; |
||
484 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
485 | |||
486 | $message = "Access Port 1-1-1-4 changed media to fiber"; |
||
487 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
488 | |||
489 | $message = "Access Port 1-1-1-4 changed MDIX to not-applicable"; |
||
490 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
491 | |||
492 | $message = "Access Port 1-1-1-4 AutoDiagnostic disabled"; |
||
493 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
494 | |||
495 | $message = "Access Port 1-1-1-4 administrative state changed to maintenance"; |
||
496 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
497 | |||
498 | $message = "Access Port 1-1-1-4 MTU changed to 9000 bytes"; |
||
499 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
500 | |||
501 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap access port modified specific messages'); |
||
502 | |||
503 | $trapText = "$device->hostname |
||
504 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
505 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
506 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
507 | CM-FACILITY-MIB::cmEthernetAccPortA2NPushPVIDEnabled.1.1.1.4 false |
||
508 | CM-FACILITY-MIB::cmAccPortExtRefPrioMapProfile.1.1.1.4 SNMPv2-SMI::zeroDotZero |
||
509 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 2B 16 00 2D 06 00 \" |
||
510 | ADVA-MIB::neEventLogIndex.214 214 |
||
511 | ADVA-MIB::neEventLogTimeStamp.214 2018-12-10,9:43:22.3,-6:0"; |
||
512 | |||
513 | $trap = new Trap($trapText); |
||
514 | |||
515 | $message = "Access Port 1-1-1-4 modified"; |
||
516 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
517 | |||
518 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap access port modified gerneric messages'); |
||
519 | } |
||
520 | |||
521 | public function testAccFlowModified() |
||
522 | { |
||
523 | $device = factory(Device::class)->create(); |
||
524 | |||
525 | $trapText = "$device->hostname |
||
526 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
527 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
528 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
529 | CM-FACILITY-MIB::cmFlowN2AEIR.1.1.1.4.1 0 |
||
530 | CM-FACILITY-MIB::cmFlowN2ACIR.1.1.1.4.1 0 |
||
531 | CM-FACILITY-MIB::cmFlowN2ACIRHi.1.1.1.4.1 0 |
||
532 | CM-FACILITY-MIB::cmFlowN2AEIRHi.1.1.1.4.1 0 |
||
533 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 07 1C 00 2D 06 00 \" |
||
534 | ADVA-MIB::neEventLogIndex.147 147 |
||
535 | ADVA-MIB::neEventLogTimeStamp.147 2018-12-10,9:7:28.1,-6:0"; |
||
536 | |||
537 | $trap = new Trap($trapText); |
||
538 | |||
539 | $message = "Access Flow 1-1-1-4-1 modified"; |
||
540 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
541 | |||
542 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap access flow modified'); |
||
543 | } |
||
544 | |||
545 | public function testLagModified() |
||
546 | { |
||
547 | $device = factory(Device::class)->create(); |
||
548 | |||
549 | $trapText = "$device->hostname |
||
550 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
551 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
552 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
553 | F3-LAG-MIB::f3LagName.1.1 LagTest |
||
554 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 08 3A 2B 00 2D 06 00 \" |
||
555 | ADVA-MIB::neEventLogIndex.113 113 |
||
556 | ADVA-MIB::neEventLogTimeStamp.113 2018-12-10,8:58:43.7,-6:0"; |
||
557 | |||
558 | $trap = new Trap($trapText); |
||
559 | |||
560 | $message = "LAG 1 modified"; |
||
561 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
562 | |||
563 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap LAG modified'); |
||
564 | } |
||
565 | |||
566 | public function testQosFlowPolicerModfied() |
||
567 | { |
||
568 | $device = factory(Device::class)->create(); |
||
569 | |||
570 | $trapText = "$device->hostname |
||
571 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
572 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
573 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
574 | CM-FACILITY-MIB::cmQosFlowPolicerCIRLo.1.1.1.3.1.1.1 9856000 |
||
575 | CM-FACILITY-MIB::cmQosFlowPolicerCIRHi.1.1.1.3.1.1.1 0 |
||
576 | CM-FACILITY-MIB::cmQosFlowPolicerEntry.21.1.1.1.3.1.1.1 9856000 |
||
577 | CM-FACILITY-MIB::cmQosFlowPolicerEntry.20.1.1.1.3.1.1.1 0 |
||
578 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 2F 33 00 2D 06 00 \" |
||
579 | ADVA-MIB::neEventLogIndex.217 217 |
||
580 | ADVA-MIB::neEventLogTimeStamp.217 2018-12-10,9:47:51.0,-6:0"; |
||
581 | |||
582 | $trap = new Trap($trapText); |
||
583 | |||
584 | $message = "QoS on flow 1-1-1-3-1 modified"; |
||
585 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
586 | |||
587 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap QoS flow policer'); |
||
588 | } |
||
589 | |||
590 | public function testQosShaperModified() |
||
591 | { |
||
592 | $device = factory(Device::class)->create(); |
||
593 | |||
594 | $trapText = "$device->hostname |
||
595 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
596 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
597 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
598 | CM-FACILITY-MIB::cmQosShaperCIR.1.1.1.3.1.1.1 9856000 |
||
599 | CM-FACILITY-MIB::cmQosShaperCIRHi.1.1.1.3.1.1.1 0 |
||
600 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 2F 33 00 2D 06 00 \" |
||
601 | ADVA-MIB::neEventLogIndex.218 218 |
||
602 | ADVA-MIB::neEventLogTimeStamp.218 2018-12-10,9:47:51.0,-6:0"; |
||
603 | |||
604 | $trap = new Trap($trapText); |
||
605 | |||
606 | $message = "QoS on flow 1-1-1-3-1 modified"; |
||
607 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
608 | |||
609 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap QoS shaper'); |
||
610 | } |
||
611 | |||
612 | public function testAccShaper() |
||
613 | { |
||
614 | $device = factory(Device::class)->create(); |
||
615 | |||
616 | $trapText = "$device->hostname |
||
617 | UDP: [$device->ip]:57602->[192.168.5.5]:162 |
||
618 | DISMAN-EVENT-MIB::sysUpTimeInstance 26:19:43:37.24 |
||
619 | SNMPv2-MIB::snmpTrapOID.0 CM-SYSTEM-MIB::cmAttributeValueChangeTrap |
||
620 | CM-FACILITY-MIB::cmAccPortQosShaperCIRLo.1.1.1.4.1 128000 |
||
621 | CM-FACILITY-MIB::cmAccPortQosShaperCIRHi.1.1.1.4.1 0 |
||
622 | RMON2-MIB::probeDateTime.0 \"07 E2 0C 0A 09 07 1C 00 2D 06 00 \" |
||
623 | ADVA-MIB::neEventLogIndex.146 146 |
||
624 | ADVA-MIB::neEventLogTimeStamp.146 2018-12-10,9:7:28.1,-6:0"; |
||
625 | |||
626 | $trap = new Trap($trapText); |
||
627 | |||
628 | $message = "Shaper modified on access port 1-1-1-4-1 modified"; |
||
629 | \Log::shouldReceive('event')->once()->with($message, $device->device_id, 'trap', 2); |
||
630 | |||
631 | $this->assertTrue(Dispatcher::handle($trap), 'Could not handle cmAttributeValueChangeTrap access port QoS shaper'); |
||
632 | } |
||
633 | } |
||
634 |