session.t
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:3k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. #!./perl
  2. BEGIN {
  3.     unless(grep /blib/, @INC) {
  4.         chdir 't' if -d 't';
  5.         @INC = '../lib' if -d '../lib';
  6.     }
  7. }
  8. use Test;
  9. BEGIN { plan tests => 5}
  10. use SNMP;
  11. use vars qw($agent_port $comm $agent_host $bad_auth_pass $auth_pass $sec_name $bad_sec_name $bad_version $bad_priv_pass $priv_pass);
  12. require "t/startagent.pl";
  13. $SNMP::debugging = 0;
  14. # create list of varbinds for GETS, val field can be null or omitted
  15. my $vars = new SNMP::VarList (
  16.    ['sysDescr', '0', ''],
  17.    ['sysContact', '0'],
  18.    ['sysName', '0'],
  19.    ['sysLocation', '0'],
  20.    ['sysServices', '0'],
  21.    ['ifNumber', '0'],
  22.    ['ifDescr', '1'],
  23.    ['ifSpeed', '1'],
  24.   );
  25. #########################== 1 ===#########################################
  26. # Create a bogus session, undef means the host can't be found.
  27. # removed! this test can hang for a long time if DNS is not functioning
  28. # my $s1 = new SNMP::Session (DestHost => $bad_host );
  29. # ok(!defined($s1));
  30. #print("n");
  31. #####################== 2 ====############################################
  32. # Fire up a session.
  33.     my $s2 =
  34.     new SNMP::Session (DestHost=>$agent_host, Community=>$comm,
  35.        RemotePort=>$agent_port);
  36.     ok(defined($s2));
  37. ######################==  3 ==== ##########################################
  38. # Fire up a V3 session 
  39. my $s3 = new SNMP::Session (Version => 3 , RemotePort => $agent_port, 
  40.     SecName => $sec_name );
  41. ok(defined($s3));
  42. #print STDERR "Error string1 = $s3->{ErrorStr}:$s3->{ErrorInd}n";
  43. #print("n");
  44. #####################=== 4 ====###########################################
  45. #create a V3 session by setting an IP address/port not running an agent
  46. my $s4 = new SNMP::Session (Version => 3, RemotePort => 1002, Retries => 0);
  47. # engineId discovery should fail resulting in session creation failure (undef)
  48. ok(!defined($s4));
  49. #print STDERR "Error string1 = $s4->{ErrorStr}:$s4->{ErrorInd}n";
  50. #print("n");
  51. ######################  5  ###########################################
  52. #create a session with bad version
  53. my $s5 = new SNMP::Session (Version=>$bad_version);
  54. ok(!defined($s5));
  55. #print("n");
  56. ########################  6  ########################################
  57. #Test for v3 session creation success
  58. my $s6 = new SNMP::Session (Version => 3, RemotePort => $agent_port,
  59.     SecLevel => 'authPriv', 
  60.     SecName => $sec_name, 
  61.     PrivPass => $priv_pass, 
  62.     AuthPass => $auth_pass);
  63. ok(defined($s6));
  64. #print STDERR "Error string2 = $s6->{ErrorStr}:$s6->{ErrorInd}n";
  65. #print("n");
  66. #####################  7  ############################################
  67. snmptest_cleanup();