summaryrefslogtreecommitdiff
path: root/perl/SNMP/t/session.t
diff options
context:
space:
mode:
Diffstat (limited to 'perl/SNMP/t/session.t')
-rw-r--r--perl/SNMP/t/session.t76
1 files changed, 76 insertions, 0 deletions
diff --git a/perl/SNMP/t/session.t b/perl/SNMP/t/session.t
new file mode 100644
index 0000000..3f51386
--- /dev/null
+++ b/perl/SNMP/t/session.t
@@ -0,0 +1,76 @@
+#!./perl
+
+BEGIN {
+ unless(grep /blib/, @INC) {
+ chdir 't' if -d 't';
+ @INC = '../lib' if -d '../lib';
+ }
+ eval "use Cwd qw(abs_path)";
+ $ENV{'SNMPCONFPATH'} = 'nopath';
+ $ENV{'MIBDIRS'} = '+' . abs_path("../../mibs");
+}
+use Test;
+BEGIN { plan tests => 5}
+use SNMP;
+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);
+require "t/startagent.pl";
+
+$SNMP::debugging = 0;
+
+# create list of varbinds for GETS, val field can be null or omitted
+my $vars = new SNMP::VarList (
+ ['sysDescr', '0', ''],
+ ['sysContact', '0'],
+ ['sysName', '0'],
+ ['sysLocation', '0'],
+ ['sysServices', '0'],
+ ['ifNumber', '0'],
+ ['ifDescr', '1'],
+ ['ifSpeed', '1'],
+ );
+
+#########################== 1 ===#########################################
+# Create a bogus session, undef means the host can't be found.
+# removed! this test can hang for a long time if DNS is not functioning
+# my $s1 = new SNMP::Session (DestHost => $bad_host );
+# ok(!defined($s1));
+#print("\n");
+#####################== 2 ====############################################
+# Fire up a session.
+ my $s2 =
+ new SNMP::Session (DestHost=>$agent_host, Community=>$comm,
+ RemotePort=>$agent_port);
+ ok(defined($s2));
+######################== 3 ==== ##########################################
+
+# Fire up a V3 session
+my $s3 = new SNMP::Session (Version => 3 , RemotePort => $agent_port,
+ SecName => $sec_name );
+ok(defined($s3));
+#print STDERR "Error string1 = $s3->{ErrorStr}:$s3->{ErrorInd}\n";
+#print("\n");
+#####################=== 4 ====###########################################
+#create a V3 session by setting an IP address/port not running an agent
+my $s4 = new SNMP::Session (Version => 3, RemotePort => 1002, Retries => 0);
+# engineId discovery should fail resulting in session creation failure (undef)
+ok(!defined($s4));
+#print STDERR "Error string1 = $s4->{ErrorStr}:$s4->{ErrorInd}\n";
+#print("\n");
+###################### 5 ###########################################
+#create a session with bad version
+my $s5 = new SNMP::Session (Version=>$bad_version);
+ok(!defined($s5));
+#print("\n");
+######################## 6 ########################################
+#Test for v3 session creation success
+my $s6 = new SNMP::Session (Version => 3, RemotePort => $agent_port,
+ SecLevel => 'authPriv',
+ SecName => $sec_name,
+ PrivPass => $priv_pass,
+ AuthPass => $auth_pass);
+ok(defined($s6));
+#print STDERR "Error string2 = $s6->{ErrorStr}:$s6->{ErrorInd}\n";
+#print("\n");
+##################### 7 ############################################
+
+snmptest_cleanup();