|
17 | 17 | from ax_interface.pdu import PDU, PDUHeader
|
18 | 18 | from ax_interface.mib import MIBTable
|
19 | 19 | from sonic_ax_impl.mibs import ieee802_1ab
|
| 20 | +from mock import patch |
20 | 21 |
|
| 22 | +def mock_poll_lldp_notif(mock_lldp_polled_entries): |
| 23 | + if not mock_lldp_polled_entries: |
| 24 | + return None, None, None |
| 25 | + return mock_lldp_polled_entries.pop(0) |
21 | 26 |
|
22 | 27 | class TestLLDPMIB(TestCase):
|
23 | 28 | @classmethod
|
@@ -314,3 +319,27 @@ def test_getnextpdu_lldpRemSysCapEnabled(self):
|
314 | 319 | self.assertEqual(value0.type_, ValueType.OCTET_STRING)
|
315 | 320 | self.assertEqual(str(value0.name), str(ObjectIdentifier(12, 0, 1, 0, (1, 0, 8802, 1, 1, 2, 1, 4, 1, 1, 12, 1, 1))))
|
316 | 321 | self.assertEqual(str(value0.data), "\x28\x00")
|
| 322 | + |
| 323 | + @patch("sonic_ax_impl.mibs.ieee802_1ab.poll_lldp_entry_updates", mock_poll_lldp_notif) |
| 324 | + def test_get_latest_notification(self): |
| 325 | + mock_lldp_polled_entries = [] |
| 326 | + mock_lldp_polled_entries.extend([("hset", "Ethernet0", "123"), |
| 327 | + ("hset", "Ethernet4", "124"), |
| 328 | + ("del", "Ethernet4", "124"), |
| 329 | + ("del", "Ethernet8", "125"), |
| 330 | + ("hset", "Ethernet8", "125"), |
| 331 | + ("hset", "Ethernet4", "124"), |
| 332 | + ("del", "Ethernet0", "123"), |
| 333 | + ("hset", "Ethernet12", "126"), |
| 334 | + ("del", "Ethernet12", "126"), |
| 335 | + ("hset", "Ethernet0", "123"), |
| 336 | + ("del", "Ethernet16", "127")]) |
| 337 | + event_cache = ieee802_1ab.get_latest_notification(mock_lldp_polled_entries) |
| 338 | + expect = {"Ethernet0" : ("hset", "123"), |
| 339 | + "Ethernet4" : ("hset", "124"), |
| 340 | + "Ethernet8" : ("hset", "125"), |
| 341 | + "Ethernet12" : ("del", "126"), |
| 342 | + "Ethernet16" : ("del", "127")} |
| 343 | + for key in expect.keys(): |
| 344 | + assert key in event_cache |
| 345 | + self.assertEqual(expect[key], event_cache[key]) |
0 commit comments