blob: e3982f405ee1355cb5f739d943b79038b7afab5c [file] [log] [blame]
""" 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()