From 6ea2bd40d8fee4aba48a2bfbb9ac1abe85bc6ffd Mon Sep 17 00:00:00 2001 From: Karen Schoener Date: Thu, 21 Jan 2021 11:35:11 -0500 Subject: [PATCH] tests: update snmp test infastructure api test_oid_walk Update test_oid_walk to either validate specific oids or to validate all rows walked. Signed-off-by: Karen Schoener --- tests/topotests/lib/snmptest.py | 11 +++++++---- tests/topotests/simple-snmp-test/test_simple_snmp.py | 4 +++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/tests/topotests/lib/snmptest.py b/tests/topotests/lib/snmptest.py index ba5835dcf7..910e901ade 100644 --- a/tests/topotests/lib/snmptest.py +++ b/tests/topotests/lib/snmptest.py @@ -80,11 +80,14 @@ class SnmpTester(object): def _parse_multiline(self, snmp_output): results = snmp_output.strip().split("\r\n") - out_dict = {} + out_dict = {} + out_list = [] for response in results: out_dict[self._get_snmp_oid(response)] = self._get_snmp_value(response) - return out_dict + out_list.append(self._get_snmp_value(response)) + + return out_dict, out_list def get(self, oid): cmd = "snmpget {0} {1}".format(self._snmp_config(), oid) @@ -114,7 +117,7 @@ class SnmpTester(object): return self.get_next(oid) == value def test_oid_walk(self, oid, values, oids=None): - results_dict = self.walk(oid) + results_dict, results_list = self.walk(oid) print("res {}".format(results_dict)) if oids is not None: index = 0 @@ -124,4 +127,4 @@ class SnmpTester(object): index += 1 return True - return results_dict.values() == values + return results_list == values diff --git a/tests/topotests/simple-snmp-test/test_simple_snmp.py b/tests/topotests/simple-snmp-test/test_simple_snmp.py index 2b609ef14c..25bb9f7195 100755 --- a/tests/topotests/simple-snmp-test/test_simple_snmp.py +++ b/tests/topotests/simple-snmp-test/test_simple_snmp.py @@ -120,11 +120,13 @@ def test_r1_bgp_version(): "Wait for protocol convergence" tgen = get_topogen() - #tgen.mininet_cli() + # tgen.mininet_cli() r1 = tgen.net.get("r1") r1_snmp = SnmpTester(r1, "1.1.1.1", "public", "2c") assert r1_snmp.test_oid("bgpVersin", None) assert r1_snmp.test_oid("bgpVersion", "10") + assert r1_snmp.test_oid_walk("bgpVersion", ["10"]) + assert r1_snmp.test_oid_walk("bgpVersion", ["10"], ["0"]) if __name__ == "__main__": -- 2.39.5