summaryrefslogtreecommitdiff
path: root/python/netsnmp/tests/test.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/netsnmp/tests/test.py')
-rw-r--r--python/netsnmp/tests/test.py321
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()