From ab65bd02d116d286fd73c2d762f1df24cd954dbb Mon Sep 17 00:00:00 2001 From: davidza Date: Thu, 28 Dec 2023 22:25:13 +0200 Subject: [PATCH] Add support for multi asic system Add UT for multi asic --- tests/mock_tables/asic0/appl_db.json | 4 + tests/mock_tables/asic0/counters_db.json | 70 +++++++++++++- tests/mock_tables/asic1/appl_db.json | 4 + tests/mock_tables/asic1/counters_db.json | 70 +++++++++++++- tests/mock_tables/asic2/appl_db.json | 5 + tests/mock_tables/asic2/counters_db.json | 111 +++++++++++++++++++++- tests/mock_tables/global_db/state_db.json | 9 ++ tests/namespace/test_queues_stat.py | 46 +++++++++ 8 files changed, 307 insertions(+), 12 deletions(-) diff --git a/tests/mock_tables/asic0/appl_db.json b/tests/mock_tables/asic0/appl_db.json index 6b0c146a1..5663ccab8 100644 --- a/tests/mock_tables/asic0/appl_db.json +++ b/tests/mock_tables/asic0/appl_db.json @@ -46,6 +46,10 @@ "alias": "etp2", "speed": 100000 }, + "PORT_TABLE:Ethernet24": { + "alias": "etp17", + "speed": 100000 + }, "PORT_TABLE:Ethernet-BP0": { "description": "snowflake", "alias": "etp3", diff --git a/tests/mock_tables/asic0/counters_db.json b/tests/mock_tables/asic0/counters_db.json index 490b7d9b7..f7222c13d 100644 --- a/tests/mock_tables/asic0/counters_db.json +++ b/tests/mock_tables/asic0/counters_db.json @@ -311,7 +311,8 @@ "Ethernet-BP0": "oid:0x1000000000005", "Ethernet-BP4": "oid:0x1000000000006", "Ethernet-IB0": "oid:0x1000000000080", - "Ethernet-Rec0": "oid:0x1000000000081" + "Ethernet-Rec0": "oid:0x1000000000081", + "Ethernet24": "oid:0x1000000000014" }, "COUNTERS_LAG_NAME_MAP": { "PortChannel01": "oid:0x1000000000007" @@ -592,7 +593,13 @@ "Ethernet4:12": "oid:0x15000000010244", "Ethernet4:13": "oid:0x15000000010245", "Ethernet4:14": "oid:0x15000000010246", - "Ethernet4:15": "oid:0x15000000010247" + "Ethernet4:15": "oid:0x15000000010247", + "Ethernet24:0": "oid:0x15000000000260", + "Ethernet24:1": "oid:0x15000000000261", + "Ethernet24:2": "oid:0x15000000000262", + "Ethernet24:3": "oid:0x15000000000263", + "Ethernet24:4": "oid:0x15000000000264", + "Ethernet24:6": "oid:0x15000000000266" }, "COUNTERS_QUEUE_TYPE_MAP": { "oid:0x15000000000230": "SAI_QUEUE_TYPE_UNICAST", @@ -626,7 +633,13 @@ "oid:0x15000000010244": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x15000000010245": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x15000000010246": "SAI_QUEUE_TYPE_MULTICAST", - "oid:0x15000000010247": "SAI_QUEUE_TYPE_MULTICAST" + "oid:0x15000000010247": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000000260": "SAI_QUEUE_TYPE_UNICAST", + "oid:0x15000000000261": "SAI_QUEUE_TYPE_UNICAST", + "oid:0x15000000000262": "SAI_QUEUE_TYPE_UNICAST", + "oid:0x15000000000263": "SAI_QUEUE_TYPE_UNICAST", + "oid:0x15000000000264": "SAI_QUEUE_TYPE_UNICAST", + "oid:0x15000000000266": "SAI_QUEUE_TYPE_UNICAST" }, "COUNTERS:oid:0x15000000000230": { "SAI_QUEUE_STAT_PACKETS": "1", @@ -883,4 +896,53 @@ "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" - }} + }, + "COUNTERS:oid:0x15000000000260": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "23492723984237432", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000000261": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000000262": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000000263": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000000264": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000000266": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + } +} diff --git a/tests/mock_tables/asic1/appl_db.json b/tests/mock_tables/asic1/appl_db.json index f8d7f0aa9..741b2358b 100644 --- a/tests/mock_tables/asic1/appl_db.json +++ b/tests/mock_tables/asic1/appl_db.json @@ -49,6 +49,10 @@ "speed": 1000, "alias": "etp16" }, + "PORT_TABLE:Ethernet32": { + "speed": 1000, + "alias": "etp18" + }, "PORT_TABLE:Ethernet-BP8": { "alias": "etp7" }, diff --git a/tests/mock_tables/asic1/counters_db.json b/tests/mock_tables/asic1/counters_db.json index 7304ffe10..4e7511f48 100644 --- a/tests/mock_tables/asic1/counters_db.json +++ b/tests/mock_tables/asic1/counters_db.json @@ -310,7 +310,8 @@ "Ethernet12": "oid:0x1000000000004", "Ethernet-BP8": "oid:0x1000000000005", "Ethernet-BP12": "oid:0x1000000000006", - "Ethernet16": "oid:0x1000000000010" + "Ethernet16": "oid:0x1000000000010", + "Ethernet32": "oid:0x1000000000011" }, "COUNTERS_LAG_NAME_MAP": { "PortChannel02": "oid:0x1000000000007" @@ -697,7 +698,13 @@ "Ethernet12:12": "oid:0x15000000010244", "Ethernet12:13": "oid:0x15000000010245", "Ethernet12:14": "oid:0x15000000010246", - "Ethernet12:15": "oid:0x15000000010247" + "Ethernet12:15": "oid:0x15000000010247", + "Ethernet32:8": "oid:0x15000000010270", + "Ethernet32:10": "oid:0x15000000010272", + "Ethernet32:11": "oid:0x15000000010273", + "Ethernet32:13": "oid:0x15000000010275", + "Ethernet32:14": "oid:0x15000000010276", + "Ethernet32:15": "oid:0x15000000010277" }, "COUNTERS_QUEUE_TYPE_MAP": { "oid:0x15000000000230": "SAI_QUEUE_TYPE_UNICAST", @@ -731,7 +738,13 @@ "oid:0x15000000010244": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x15000000010245": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x15000000010246": "SAI_QUEUE_TYPE_MULTICAST", - "oid:0x15000000010247": "SAI_QUEUE_TYPE_MULTICAST" + "oid:0x15000000010247": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000010270": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000010272": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000010273": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000010275": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000010276": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000010277": "SAI_QUEUE_TYPE_MULTICAST" }, "COUNTERS:oid:0x15000000000230": { "SAI_QUEUE_STAT_PACKETS": "1", @@ -988,4 +1001,53 @@ "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" - }} + }, + "COUNTERS:oid:0x15000000010270": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000010272": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000010273": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000010275": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000010276": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000010277": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + } +} diff --git a/tests/mock_tables/asic2/appl_db.json b/tests/mock_tables/asic2/appl_db.json index c99d60591..291a1c10b 100644 --- a/tests/mock_tables/asic2/appl_db.json +++ b/tests/mock_tables/asic2/appl_db.json @@ -47,6 +47,11 @@ "alias": "etp12", "speed": 100000 }, + "PORT_TABLE:Ethernet40": { + "description": "snowflake", + "alias": "etp19", + "speed": 100000 + }, "ROUTE_TABLE:10.1.0.32": { "nexthop": "", "ifname": "lo" diff --git a/tests/mock_tables/asic2/counters_db.json b/tests/mock_tables/asic2/counters_db.json index 36b0ff839..010184f57 100644 --- a/tests/mock_tables/asic2/counters_db.json +++ b/tests/mock_tables/asic2/counters_db.json @@ -309,7 +309,8 @@ "Ethernet-BP16": "oid:0x1000000000003", "Ethernet-BP20": "oid:0x1000000000004", "Ethernet-BP24": "oid:0x1000000000005", - "Ethernet-BP28": "oid:0x1000000000006" + "Ethernet-BP28": "oid:0x1000000000006", + "Ethernet40": "oid:0x100000000000d" }, "COUNTERS_LAG_NAME_MAP": { "PortChannel03": "oid:0x1000000000007", @@ -659,7 +660,18 @@ "Ethernet-BP20:12": "oid:0x15000000010244", "Ethernet-BP20:13": "oid:0x15000000010245", "Ethernet-BP20:14": "oid:0x15000000010246", - "Ethernet-BP20:15": "oid:0x15000000010247" + "Ethernet-BP20:15": "oid:0x15000000010247", + "Ethernet40:1": "oid:0x15000000000281", + "Ethernet40:2": "oid:0x15000000000282", + "Ethernet40:4": "oid:0x15000000000284", + "Ethernet40:6": "oid:0x15000000000286", + "Ethernet40:7": "oid:0x15000000000287", + "Ethernet40:8": "oid:0x15000000010280", + "Ethernet40:9": "oid:0x15000000010281", + "Ethernet40:11": "oid:0x15000000010283", + "Ethernet40:13": "oid:0x15000000010285", + "Ethernet40:14": "oid:0x15000000010286" + }, "COUNTERS_QUEUE_TYPE_MAP": { "oid:0x15000000000230": "SAI_QUEUE_TYPE_UNICAST", @@ -693,7 +705,17 @@ "oid:0x15000000010244": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x15000000010245": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x15000000010246": "SAI_QUEUE_TYPE_MULTICAST", - "oid:0x15000000010247": "SAI_QUEUE_TYPE_MULTICAST" + "oid:0x15000000010247": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000000281": "SAI_QUEUE_TYPE_UNICAST", + "oid:0x15000000000282": "SAI_QUEUE_TYPE_UNICAST", + "oid:0x15000000000284": "SAI_QUEUE_TYPE_UNICAST", + "oid:0x15000000000286": "SAI_QUEUE_TYPE_UNICAST", + "oid:0x15000000000287": "SAI_QUEUE_TYPE_UNICAST", + "oid:0x15000000010280": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000010281": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000010283": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000010285": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000010286": "SAI_QUEUE_TYPE_MULTICAST" }, "COUNTERS:oid:0x15000000000230": { "SAI_QUEUE_STAT_PACKETS": "1", @@ -950,4 +972,85 @@ "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" - }} + }, + "COUNTERS:oid:0x15000000000281": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000000282": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000000284": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000000286": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000000287": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000010280": { + "SAI_QUEUE_STAT_PACKETS": "123459", + "SAI_QUEUE_STAT_BYTES": "23492723984237432", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000010281": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000010283": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000010285": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x15000000010286": { + "SAI_QUEUE_STAT_PACKETS": "1", + "SAI_QUEUE_STAT_BYTES": "2", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_DISCARD_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES": "5", + "SAI_QUEUE_STAT_WATERMARK_BYTES": "6" + } +} diff --git a/tests/mock_tables/global_db/state_db.json b/tests/mock_tables/global_db/state_db.json index ed5387890..dde051ec1 100644 --- a/tests/mock_tables/global_db/state_db.json +++ b/tests/mock_tables/global_db/state_db.json @@ -141,5 +141,14 @@ }, "BUFFER_MAX_PARAM_TABLE|Ethernet-BP20": { "max_queues": "16" + }, + "BUFFER_MAX_PARAM_TABLE|Ethernet24": { + "max_queues": "16" + }, + "BUFFER_MAX_PARAM_TABLE|Ethernet32": { + "max_queues": "16" + }, + "BUFFER_MAX_PARAM_TABLE|Ethernet40": { + "max_queues": "16" } } diff --git a/tests/namespace/test_queues_stat.py b/tests/namespace/test_queues_stat.py index d97db2efa..5c24cc624 100644 --- a/tests/namespace/test_queues_stat.py +++ b/tests/namespace/test_queues_stat.py @@ -48,6 +48,52 @@ def test_getQueueCounters(self): self.assertEqual(str(value0.name), str(oid)) self.assertEqual(value0.data, 1) + + # Test issue https://github.com/sonic-net/sonic-buildimage/issues/17448 + # In this Scenario not all counters are created. + # Ethernet24 is created on mock_tables\asic0\counters_db.json with only counters for UC 0,1,2,3,4,6 + # Ethernet32 is created on mock_tables\asic1\counters_db.json with only counters for MC 0,2,3,5,6,7 + # Ethernet40 is created on mock_tables\asic2\counters_db.json with only counters for UC 1,2,4,6,7 and MC 0,1,3,5,6 + def test_getQueueCountersForPortWithAllCounters(self): + tested_ports_counters_data = { + 25: { 1: {1:1, 2:23492723984237432, 5:3,6:0}, 2: {1:1, 2:2, 5:3, 6:0}, + 3: {1:1, 2:2, 5:3, 6:0}, 4: {1:1, 2:2, 5:3, 6:0}, + 5: {1:1, 2:2, 5:3, 6:0}, 7: {1:1, 2:2, 5:3, 6:0} + }, + 33: { 1: {3:1, 4:2, 7:3, 8:0}, 3: {3:1, 4:2, 7:3, 8:0}, + 4: {3:1, 4:2, 7:3, 8:0}, 6: {3:1, 4:2, 7:3, 8:0}, + 7: {3:1, 4:2, 7:3, 8:0}, 8: {3:1, 4:2, 7:3, 8:0} + }, + 41: { 1: {3:123459, 4:23492723984237432, 7:3, 8:0}, 2: {1:1, 2:2, 3:1, 4:2, 5:3, 6:0, 7:3,8:0}, + 3: {1:1, 2:2, 5:3, 6:0}, 4: {3:1, 4:2, 7:3, 8:0}, + 5: {1:1, 2:2, 5:3, 6:0}, 6: {3:1, 4:2, 7:3, 8:0}, + 7: {1:1, 2:2, 3:1, 4:2, 5:3, 6:0, 7:3,8:0}, 8: {1:1, 2:2, 5:3, 6:0} + } + } + + for port, configured_queues in tested_ports_counters_data.items(): + for queue_id in range(1, 8): + for counter_id in range(1, 8): + oid = ObjectIdentifier(8, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 580, 1, 5, 5, 1, 4, port, 2, queue_id, counter_id)) + get_pdu = GetPDU( + header=PDUHeader(1, PduTypes.GET, 16, 0, 42, 0, 0, 0), + oids=[oid] + ) + + encoded = get_pdu.encode() + response = get_pdu.make_response(self.lut) + print(response) + value0 = response.values[0] + if queue_id in configured_queues.keys() and counter_id in configured_queues[queue_id]: + self.assertEqual(value0.type_, ValueType.COUNTER_64) + self.assertEqual(str(value0.name), str(oid)) + self.assertEqual(value0.data, configured_queues[queue_id][counter_id]) + else: + self.assertEqual(value0.type_, ValueType.NO_SUCH_INSTANCE) + self.assertEqual(str(value0.name), str(oid)) + self.assertEqual(value0.data, None) + + def test_getNextPduForQueueCounter(self): oid = ObjectIdentifier(8, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 580, 1, 5, 5, 1, 4, 1, 2, 1, 1)) expected_oid = ObjectIdentifier(8, 0, 0, 0, (1, 3, 6, 1, 4, 1, 9, 9, 580, 1, 5, 5, 1, 4, 1, 2, 1, 2))