diff options
Diffstat (limited to 'python/netsnmp/tests/test.py')
-rw-r--r-- | python/netsnmp/tests/test.py | 321 |
1 files changed, 321 insertions, 0 deletions
diff --git a/python/netsnmp/tests/test.py b/python/netsnmp/tests/test.py new file mode 100644 index 0000000..e3982f4 --- /dev/null +++ b/python/netsnmp/tests/test.py @@ -0,0 +1,321 @@ +""" Runs all unit tests for the netsnmp package. """ +# Copyright (c) 2006 Andy Gross. See LICENSE.txt for details. + +import sys +import unittest +import netsnmp +import time + +class BasicTests(unittest.TestCase): + def testFuncs(self): + print "" + var = netsnmp.Varbind('sysDescr.0') + var = netsnmp.Varbind('sysDescr','0') + var = netsnmp.Varbind( + '.iso.org.dod.internet.mgmt.mib-2.system.sysDescr','0') + var = netsnmp.Varbind( + '.iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0') + var = netsnmp.Varbind('.1.3.6.1.2.1.1.1.0') + + var = netsnmp.Varbind('.1.3.6.1.2.1.1.1','0') + + print "---v1 GET tests -------------------------------------\n" + res = netsnmp.snmpget(var, + Version = 1, + DestHost='localhost', + Community='public') + + print "v1 snmpget result: ", res, "\n" + + print "v1 get var: ", var.tag, var.iid, "=", var.val, '(',var.type,')' + + print "---v1 GETNEXT tests-------------------------------------\n" + res = netsnmp.snmpgetnext(var, + Version = 1, + DestHost='localhost', + Community='public') + + print "v1 snmpgetnext result: ", res, "\n" + + print "v1 getnext var: ", var.tag, var.iid, "=", var.val, '(',var.type,')' + + print "---v1 SET tests-------------------------------------\n" + var = netsnmp.Varbind('sysLocation','0', 'my new location') + res = netsnmp.snmpset(var, + Version = 1, + DestHost='localhost', + Community='public') + + print "v1 snmpset result: ", res, "\n" + + print "v1 set var: ", var.tag, var.iid, "=", var.val, '(',var.type,')' + + print "---v1 walk tests-------------------------------------\n" + vars = netsnmp.VarList(netsnmp.Varbind('system')) + + print "v1 varlist walk in: " + for var in vars: + print " ",var.tag, var.iid, "=", var.val, '(',var.type,')' + + res = netsnmp.snmpwalk(vars, + Version = 1, + DestHost='localhost', + Community='public') + print "v1 snmpwalk result: ", res, "\n" + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + + + print "---v1 walk 2-------------------------------------\n" + + print "v1 varbind walk in: " + var = netsnmp.Varbind('system') + res = netsnmp.snmpwalk(var, + Version = 1, + DestHost='localhost', + Community='public') + print "v1 snmpwalk result (should be = orig): ", res, "\n" + + print var.tag, var.iid, "=", var.val, '(',var.type,')' + + print "---v1 multi-varbind test-------------------------------------\n" + sess = netsnmp.Session(Version=1, + DestHost='localhost', + Community='public') + + vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime', 0), + netsnmp.Varbind('sysContact', 0), + netsnmp.Varbind('sysLocation', 0)) + vals = sess.get(vars) + print "v1 sess.get result: ", vals, "\n" + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + + vals = sess.getnext(vars) + print "v1 sess.getnext result: ", vals, "\n" + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + + vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime'), + netsnmp.Varbind('sysORLastChange'), + netsnmp.Varbind('sysORID'), + netsnmp.Varbind('sysORDescr'), + netsnmp.Varbind('sysORUpTime')) + + vals = sess.getbulk(2, 8, vars) + print "v1 sess.getbulk result: ", vals, "\n" + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + + print "---v1 set2-------------------------------------\n" + + vars = netsnmp.VarList( + netsnmp.Varbind('sysLocation', '0', 'my newer location')) + res = sess.set(vars) + print "v1 sess.set result: ", res, "\n" + + print "---v1 walk3-------------------------------------\n" + vars = netsnmp.VarList(netsnmp.Varbind('system')) + + vals = sess.walk(vars) + print "v1 sess.walk result: ", vals, "\n" + + for var in vars: + print " ",var.tag, var.iid, "=", var.val, '(',var.type,')' + + print "---v2c get-------------------------------------\n" + + sess = netsnmp.Session(Version=2, + DestHost='localhost', + Community='public') + + sess.UseEnums = 1 + sess.UseLongNames = 1 + + vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime', 0), + netsnmp.Varbind('sysContact', 0), + netsnmp.Varbind('sysLocation', 0)) + vals = sess.get(vars) + print "v2 sess.get result: ", vals, "\n" + + print "---v2c getnext-------------------------------------\n" + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + print "\n" + + vals = sess.getnext(vars) + print "v2 sess.getnext result: ", vals, "\n" + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + print "\n" + + print "---v2c getbulk-------------------------------------\n" + + vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime'), + netsnmp.Varbind('sysORLastChange'), + netsnmp.Varbind('sysORID'), + netsnmp.Varbind('sysORDescr'), + netsnmp.Varbind('sysORUpTime')) + + vals = sess.getbulk(2, 8, vars) + print "v2 sess.getbulk result: ", vals, "\n" + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + print "\n" + + print "---v2c set-------------------------------------\n" + + vars = netsnmp.VarList( + netsnmp.Varbind('sysLocation','0','my even newer location')) + + res = sess.set(vars) + print "v2 sess.set result: ", res, "\n" + + print "---v2c walk-------------------------------------\n" + vars = netsnmp.VarList(netsnmp.Varbind('system')) + + vals = sess.walk(vars) + print "v2 sess.walk result: ", vals, "\n" + + for var in vars: + print " ",var.tag, var.iid, "=", var.val, '(',var.type,')' + + print "---v3 setup-------------------------------------\n" + sess = netsnmp.Session(Version=3, + DestHost='localhost', + SecLevel='authPriv', + SecName='initial', + PrivPass='priv_pass', + AuthPass='auth_pass') + + sess.UseSprintValue = 1 + + vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime', 0), + netsnmp.Varbind('sysContact', 0), + netsnmp.Varbind('sysLocation', 0)) + print "---v3 get-------------------------------------\n" + vals = sess.get(vars) + print "v3 sess.get result: ", vals, "\n" + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + print "\n" + + print "---v3 getnext-------------------------------------\n" + + vals = sess.getnext(vars) + print "v3 sess.getnext result: ", vals, "\n" + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + print "\n" + + vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime'), + netsnmp.Varbind('sysORLastChange'), + netsnmp.Varbind('sysORID'), + netsnmp.Varbind('sysORDescr'), + netsnmp.Varbind('sysORUpTime')) + + vals = sess.getbulk(2, 8, vars) + print "v3 sess.getbulk result: ", vals, "\n" + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + print "\n" + + print "---v3 set-------------------------------------\n" + + vars = netsnmp.VarList( + netsnmp.Varbind('sysLocation','0', 'my final destination')) + res = sess.set(vars) + print "v3 sess.set result: ", res, "\n" + + print "---v3 walk-------------------------------------\n" + vars = netsnmp.VarList(netsnmp.Varbind('system')) + + vals = sess.walk(vars) + print "v3 sess.walk result: ", vals, "\n" + + for var in vars: + print " ",var.tag, var.iid, "=", var.val, '(',var.type,')' + + +class SetTests(unittest.TestCase): + def testFuncs(self): + print "\n-------------- SET Test Start ----------------------------\n" + + var = netsnmp.Varbind('sysUpTime','0') + res = netsnmp.snmpget(var, Version = 1, DestHost='localhost', + Community='public') + print "uptime = ", res[0] + + + var = netsnmp.Varbind('versionRestartAgent','0', 1) + res = netsnmp.snmpset(var, Version = 1, DestHost='localhost', + Community='public') + + var = netsnmp.Varbind('sysUpTime','0') + res = netsnmp.snmpget(var, Version = 1, DestHost='localhost', + Community='public') + print "uptime = ", res[0] + + var = netsnmp.Varbind('nsCacheEntry') + res = netsnmp.snmpgetnext(var, Version = 1, DestHost='localhost', + Community='public') + print "var = ", var.tag, var.iid, "=", var.val, '(',var.type,')' + + var.val = 65 + res = netsnmp.snmpset(var, Version = 1, DestHost='localhost', + Community='public') + res = netsnmp.snmpget(var, Version = 1, DestHost='localhost', + Community='public') + print "var = ", var.tag, var.iid, "=", var.val, '(',var.type,')' + + sess = netsnmp.Session(Version = 1, DestHost='localhost', + Community='public') + + vars = netsnmp.VarList(netsnmp.Varbind('.1.3.6.1.6.3.12.1.2.1.2.116.101.115.116','','.1.3.6.1.6.1.1'), + netsnmp.Varbind('.1.3.6.1.6.3.12.1.2.1.3.116.101.115.116','','1234'), + netsnmp.Varbind('.1.3.6.1.6.3.12.1.2.1.9.116.101.115.116','', 4)) + res = sess.set(vars) + + print "res = ", res + + vars = netsnmp.VarList(netsnmp.Varbind('snmpTargetAddrTDomain'), + netsnmp.Varbind('snmpTargetAddrTAddress'), + netsnmp.Varbind('snmpTargetAddrRowStatus')) + + res = sess.getnext(vars) + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + print "\n" + + vars = netsnmp.VarList(netsnmp.Varbind('.1.3.6.1.6.3.12.1.2.1.9.116.101.115.116','', 6)) + + res = sess.set(vars) + + print "res = ", res + + vars = netsnmp.VarList(netsnmp.Varbind('snmpTargetAddrTDomain'), + netsnmp.Varbind('snmpTargetAddrTAddress'), + netsnmp.Varbind('snmpTargetAddrRowStatus')) + + res = sess.getnext(vars) + + for var in vars: + print var.tag, var.iid, "=", var.val, '(',var.type,')' + print "\n" + + print "\n-------------- SET Test End ----------------------------\n" + + +if __name__=='__main__': + unittest.main() |