From 8bc40fff79763b14d866027b168be58bb6307143 Mon Sep 17 00:00:00 2001 From: Ilya Etingof Date: Fri, 16 Feb 2018 11:57:59 +0100 Subject: [PATCH] fix uninitialized ASN.1 objects use The underlying pyasn1 library has a notion of `schema` and `value` object. The `schema` object can't be used with regular Python operators as values because `schema` does not carry any value, it's rather a type. This fix turns a couple of `NoSuchInstance` schema objects into proper `value` objects to retain compatibility with the latest pysnmp which removed the default initializer of the `NoSuchInstance` object. Change-Id: Id044a0e437724bf1f3581e9187e2a1e6c336b1bc --- virtualpdu/tests/integration/pdu/test_pdu.py | 2 +- virtualpdu/tests/unit/test_pysnmp_handler.py | 2 +- virtualpdu/tests/unit/test_snmp_client.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/virtualpdu/tests/integration/pdu/test_pdu.py b/virtualpdu/tests/integration/pdu/test_pdu.py index ba06ffd..6a00dca 100644 --- a/virtualpdu/tests/integration/pdu/test_pdu.py +++ b/virtualpdu/tests/integration/pdu/test_pdu.py @@ -32,7 +32,7 @@ class TestPDU(PDUTestCase): self.snmp_get, enterprises + (42,)) def test_set_unknown_oid(self): - self.assertEqual(NoSuchInstance(), + self.assertEqual(NoSuchInstance(''), self.snmp_set(enterprises + (42,), univ.Integer(7))) def test_get_valid_oid_wrong_community(self): diff --git a/virtualpdu/tests/unit/test_pysnmp_handler.py b/virtualpdu/tests/unit/test_pysnmp_handler.py index 1ef7f92..3537098 100644 --- a/virtualpdu/tests/unit/test_pysnmp_handler.py +++ b/virtualpdu/tests/unit/test_pysnmp_handler.py @@ -108,7 +108,7 @@ class SnmpServiceMessageReceivedTest(unittest.TestCase): varbindlist = message[PDUs][ResponsePDU][VarBindList] self.assertEqual(varbindlist[0][ObjectName].value, (1, 1)) self.assertEqual(varbindlist[0][NoSuchInstance].value, - NoSuchInstance()) + NoSuchInstance('')) def test_get(self): self.pdu_mock.oid_mapping[(1, 1)] = Mock() diff --git a/virtualpdu/tests/unit/test_snmp_client.py b/virtualpdu/tests/unit/test_snmp_client.py index bc4536e..eefbe01 100644 --- a/virtualpdu/tests/unit/test_snmp_client.py +++ b/virtualpdu/tests/unit/test_snmp_client.py @@ -121,10 +121,10 @@ class TestSnmpClient(base.TestCase): def test_set_no_such_instance(self): oid = (1, 3, 6) self.command_generator_mock.setCmd.return_value = \ - (None, 0, 0, [(oid, NoSuchInstance())]) + (None, 0, 0, [(oid, NoSuchInstance(''))]) value = self.snmp_client.set(oid, '43 thousands') - self.assertEqual(NoSuchInstance(), value) + self.assertEqual(NoSuchInstance(''), value) self.oneliner_cmdgen.UdpTransportTarget \ .assert_called_with((sentinel.hostname, sentinel.port),