~ubuntu-branches/ubuntu/trusty/net-snmp/trusty

« back to all changes in this revision

Viewing changes to python/netsnmp/tests/test.py

  • Committer: Bazaar Package Importer
  • Author(s): Steve Kowalik
  • Date: 2007-12-08 14:59:50 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20071208145950-u1tykhpw56nyzqik
Tags: 5.4.1~dfsg-4ubuntu1
* Merge from debian unstable.
* Remaining Ubuntu changes:
  - Remove stop links from rc0 and rc6
  - Munge Maintainer field as per spec.
* Ubuntu changes dropped:
  - Symlink common files between the packages, CDBS ought to handle that
    for us automatically.
* The latest Debian changes has dropped history from the changelog. Slot in
  the Ubuntu changes as best I can. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
""" Runs all unit tests for the netsnmp package.   """
 
2
# Copyright (c) 2006 Andy Gross.  See LICENSE.txt for details.
 
3
 
 
4
import sys
 
5
import unittest
 
6
import netsnmp
 
7
import time
 
8
 
 
9
class BasicTests(unittest.TestCase):
 
10
    def testFuncs(self):        
 
11
        print ""
 
12
        var = netsnmp.Varbind('sysDescr.0')
 
13
        var = netsnmp.Varbind('sysDescr','0')
 
14
        var = netsnmp.Varbind(
 
15
            '.iso.org.dod.internet.mgmt.mib-2.system.sysDescr','0')
 
16
        var = netsnmp.Varbind(
 
17
            '.iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0')
 
18
        var = netsnmp.Varbind('.1.3.6.1.2.1.1.1.0')
 
19
 
 
20
        var = netsnmp.Varbind('.1.3.6.1.2.1.1.1','0')
 
21
 
 
22
        print "----------------------------------------\n"
 
23
        res = netsnmp.snmpget(var,
 
24
                              Version = 1,
 
25
                              DestHost='localhost',
 
26
                              Community='public')
 
27
 
 
28
        print "v1 snmpget result: ", res, "\n"
 
29
 
 
30
        print "v1 get var: ",  var.tag, var.iid, "=", var.val, '(',var.type,')'
 
31
        
 
32
        print "----------------------------------------\n"
 
33
        res = netsnmp.snmpgetnext(var,
 
34
                                  Version = 1,
 
35
                                  DestHost='localhost',
 
36
                                  Community='public')
 
37
 
 
38
        print "v1 snmpgetnext result: ", res, "\n"
 
39
                
 
40
        print "v1 getnext var: ",  var.tag, var.iid, "=", var.val, '(',var.type,')'
 
41
        
 
42
        print "----------------------------------------\n"
 
43
        var = netsnmp.Varbind('sysLocation','0', 'my new location')
 
44
        res = netsnmp.snmpset(var,
 
45
                        Version = 1,
 
46
                        DestHost='localhost',
 
47
                        Community='public')
 
48
 
 
49
        print "v1 snmpset result: ", res, "\n"
 
50
 
 
51
        print "v1 set var: ",  var.tag, var.iid, "=", var.val, '(',var.type,')'
 
52
        
 
53
        print "----------------------------------------\n"
 
54
        vars = netsnmp.VarList(netsnmp.Varbind('system'))
 
55
 
 
56
        print "v1 varlist walk in: "
 
57
        for var in vars:
 
58
            print "  ",var.tag, var.iid, "=", var.val, '(',var.type,')'
 
59
 
 
60
        res = netsnmp.snmpwalk(vars,
 
61
                               Version = 1,
 
62
                               DestHost='localhost',
 
63
                               Community='public')
 
64
        print "v1 snmpwalk result: ", res, "\n"
 
65
 
 
66
        for var in vars:
 
67
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
68
       
 
69
        
 
70
        print "----------------------------------------\n"
 
71
 
 
72
        print "v1 varbind walk in: "
 
73
        var = netsnmp.Varbind('system')
 
74
        res = netsnmp.snmpwalk(var,
 
75
                               Version = 1,
 
76
                               DestHost='localhost',
 
77
                               Community='public')
 
78
        print "v1 snmpwalk result (should be = orig): ", res, "\n"
 
79
 
 
80
        print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
81
        
 
82
        print "----------------------------------------\n"
 
83
        sess = netsnmp.Session(Version=1,
 
84
                               DestHost='localhost',
 
85
                               Community='public')
 
86
        
 
87
        vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime', 0),
 
88
                               netsnmp.Varbind('sysContact', 0),
 
89
                               netsnmp.Varbind('sysLocation', 0))
 
90
        vals = sess.get(vars)
 
91
        print "v1 sess.get result: ", vals, "\n"
 
92
 
 
93
        for var in vars:
 
94
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
95
       
 
96
        vals = sess.getnext(vars)
 
97
        print "v1 sess.getnext result: ", vals, "\n"
 
98
 
 
99
        for var in vars:
 
100
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
101
       
 
102
        vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime'),
 
103
                               netsnmp.Varbind('sysORLastChange'),
 
104
                               netsnmp.Varbind('sysORID'),
 
105
                               netsnmp.Varbind('sysORDescr'),
 
106
                               netsnmp.Varbind('sysORUpTime'))
 
107
 
 
108
        vals = sess.getbulk(2, 8, vars)
 
109
        print "v1 sess.getbulk result: ", vals, "\n"
 
110
 
 
111
        for var in vars:
 
112
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
113
 
 
114
        print "----------------------------------------\n"
 
115
 
 
116
        vars = netsnmp.VarList(
 
117
            netsnmp.Varbind('sysLocation', '0', 'my newer location'))
 
118
        res = sess.set(vars)
 
119
        print "v1 sess.set result: ", res, "\n"
 
120
 
 
121
        print "----------------------------------------\n"
 
122
        vars = netsnmp.VarList(netsnmp.Varbind('system'))
 
123
                
 
124
        vals = sess.walk(vars)
 
125
        print "v1 sess.walk result: ", vals, "\n"
 
126
        
 
127
        for var in vars:
 
128
            print "  ",var.tag, var.iid, "=", var.val, '(',var.type,')'
 
129
            
 
130
        print "----------------------------------------\n"
 
131
 
 
132
        sess = netsnmp.Session(Version=2,
 
133
                               DestHost='localhost',
 
134
                               Community='public')
 
135
 
 
136
        sess.UseEnums = 1
 
137
        sess.UseLongNames = 1
 
138
        
 
139
        vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime', 0),
 
140
                               netsnmp.Varbind('sysContact', 0),
 
141
                               netsnmp.Varbind('sysLocation', 0))
 
142
        vals = sess.get(vars)
 
143
        print "v2 sess.get result: ", vals, "\n"
 
144
 
 
145
        print "----------------------------------------\n"
 
146
 
 
147
        for var in vars:
 
148
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
149
        print "\n"
 
150
       
 
151
        vals = sess.getnext(vars)
 
152
        print "v2 sess.getnext result: ", vals, "\n"
 
153
 
 
154
        for var in vars:
 
155
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
156
        print "\n"
 
157
       
 
158
        print "----------------------------------------\n"
 
159
 
 
160
        vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime'),
 
161
                               netsnmp.Varbind('sysORLastChange'),
 
162
                               netsnmp.Varbind('sysORID'),
 
163
                               netsnmp.Varbind('sysORDescr'),
 
164
                               netsnmp.Varbind('sysORUpTime'))
 
165
 
 
166
        vals = sess.getbulk(2, 8, vars)
 
167
        print "v2 sess.getbulk result: ", vals, "\n"
 
168
 
 
169
        for var in vars:
 
170
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
171
        print "\n"
 
172
 
 
173
        print "----------------------------------------\n"
 
174
 
 
175
        vars = netsnmp.VarList(
 
176
            netsnmp.Varbind('sysLocation','0','my even newer location'))
 
177
        
 
178
        res = sess.set(vars)
 
179
        print "v2 sess.set result: ", res, "\n"
 
180
 
 
181
        print "----------------------------------------\n"
 
182
        vars = netsnmp.VarList(netsnmp.Varbind('system'))
 
183
                
 
184
        vals = sess.walk(vars)
 
185
        print "v2 sess.walk result: ", vals, "\n"
 
186
        
 
187
        for var in vars:
 
188
            print "  ",var.tag, var.iid, "=", var.val, '(',var.type,')'
 
189
            
 
190
        print "----------------------------------------\n"
 
191
        sess = netsnmp.Session(Version=3,
 
192
                               DestHost='localhost',
 
193
                               SecLevel='authPriv',
 
194
                               SecName='initial',
 
195
                               PrivPass='priv_pass',
 
196
                               AuthPass='auth_pass')
 
197
 
 
198
        sess.UseSprintValue = 1
 
199
 
 
200
        vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime', 0),
 
201
                               netsnmp.Varbind('sysContact', 0),
 
202
                               netsnmp.Varbind('sysLocation', 0))
 
203
        print "----------------------------------------\n"
 
204
        vals = sess.get(vars)
 
205
        print "v3 sess.get result: ", vals, "\n"
 
206
        
 
207
        for var in vars:
 
208
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
209
        print "\n"
 
210
 
 
211
        print "----------------------------------------\n"
 
212
       
 
213
        vals = sess.getnext(vars)
 
214
        print "v3 sess.getnext result: ", vals, "\n"
 
215
 
 
216
        for var in vars:
 
217
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
218
        print "\n"
 
219
       
 
220
        vars = netsnmp.VarList(netsnmp.Varbind('sysUpTime'),
 
221
                               netsnmp.Varbind('sysORLastChange'),
 
222
                               netsnmp.Varbind('sysORID'),
 
223
                               netsnmp.Varbind('sysORDescr'),
 
224
                               netsnmp.Varbind('sysORUpTime'))
 
225
 
 
226
        vals = sess.getbulk(2, 8, vars)
 
227
        print "v3 sess.getbulk result: ", vals, "\n"
 
228
 
 
229
        for var in vars:
 
230
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
231
        print "\n"
 
232
 
 
233
        print "----------------------------------------\n"
 
234
 
 
235
        vars = netsnmp.VarList(
 
236
            netsnmp.Varbind('sysLocation','0', 'my final destination'))
 
237
        res = sess.set(vars)
 
238
        print "v3 sess.set result: ", res, "\n"
 
239
        
 
240
        print "----------------------------------------\n"
 
241
        vars = netsnmp.VarList(netsnmp.Varbind('system'))
 
242
                
 
243
        vals = sess.walk(vars)
 
244
        print "v3 sess.walk result: ", vals, "\n"
 
245
        
 
246
        for var in vars:
 
247
            print "  ",var.tag, var.iid, "=", var.val, '(',var.type,')'
 
248
            
 
249
 
 
250
class SetTests(unittest.TestCase):
 
251
    def testFuncs(self):        
 
252
        print "\n-------------- SET Test Start ----------------------------\n"
 
253
 
 
254
        var = netsnmp.Varbind('sysUpTime','0')
 
255
        res = netsnmp.snmpget(var, Version = 1, DestHost='localhost',
 
256
                        Community='public')
 
257
        print "uptime = ", res[0]
 
258
 
 
259
        
 
260
        var = netsnmp.Varbind('versionRestartAgent','0', 1)
 
261
        res = netsnmp.snmpset(var, Version = 1, DestHost='localhost',
 
262
                        Community='public')
 
263
 
 
264
        var = netsnmp.Varbind('sysUpTime','0')
 
265
        res = netsnmp.snmpget(var, Version = 1, DestHost='localhost',
 
266
                        Community='public')
 
267
        print "uptime = ", res[0]
 
268
 
 
269
        var = netsnmp.Varbind('nsCacheEntry')
 
270
        res = netsnmp.snmpgetnext(var, Version = 1, DestHost='localhost',
 
271
                        Community='public')
 
272
        print "var = ", var.tag, var.iid, "=", var.val, '(',var.type,')'
 
273
 
 
274
        var.val = 65
 
275
        res = netsnmp.snmpset(var, Version = 1, DestHost='localhost',
 
276
                        Community='public')
 
277
        res = netsnmp.snmpget(var, Version = 1, DestHost='localhost',
 
278
                        Community='public')
 
279
        print "var = ", var.tag, var.iid, "=", var.val, '(',var.type,')'
 
280
 
 
281
        sess = netsnmp.Session(Version = 1, DestHost='localhost',
 
282
                        Community='public')
 
283
 
 
284
        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'),
 
285
                              netsnmp.Varbind('.1.3.6.1.6.3.12.1.2.1.3.116.101.115.116','','1234'),
 
286
                              netsnmp.Varbind('.1.3.6.1.6.3.12.1.2.1.9.116.101.115.116','', 4))
 
287
        res = sess.set(vars)
 
288
 
 
289
        print "res = ", res
 
290
 
 
291
        vars = netsnmp.VarList(netsnmp.Varbind('snmpTargetAddrTDomain'),
 
292
                               netsnmp.Varbind('snmpTargetAddrTAddress'),
 
293
                               netsnmp.Varbind('snmpTargetAddrRowStatus'))
 
294
 
 
295
        res = sess.getnext(vars)
 
296
 
 
297
        for var in vars:
 
298
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
299
        print "\n"
 
300
 
 
301
        vars = netsnmp.VarList(netsnmp.Varbind('.1.3.6.1.6.3.12.1.2.1.9.116.101.115.116','', 6))      
 
302
 
 
303
        res = sess.set(vars)
 
304
 
 
305
        print "res = ", res
 
306
 
 
307
        vars = netsnmp.VarList(netsnmp.Varbind('snmpTargetAddrTDomain'),
 
308
                               netsnmp.Varbind('snmpTargetAddrTAddress'),
 
309
                               netsnmp.Varbind('snmpTargetAddrRowStatus'))
 
310
 
 
311
        res = sess.getnext(vars)
 
312
 
 
313
        for var in vars:
 
314
            print var.tag, var.iid, "=", var.val, '(',var.type,')'
 
315
        print "\n"
 
316
 
 
317
        print "\n-------------- SET Test End ----------------------------\n"
 
318
        
 
319
 
 
320
if __name__=='__main__':
 
321
    unittest.main()