138 lines
3.5 KiB
Perl
138 lines
3.5 KiB
Perl
|
# Before `make install' is performed this script should be runnable with
|
||
|
# `make test'. After `make install' it should work as `perl test.pl'
|
||
|
|
||
|
#########################
|
||
|
|
||
|
# change 'tests => 1' to 'tests => last_test_to_print';
|
||
|
|
||
|
use Test;
|
||
|
BEGIN { eval "use Cwd qw(abs_path)"; plan tests => 38 ; $ENV{'SNMPCONFPATH'} = 'nopath' ; $ENV{'MIBDIRS'} = '+' . abs_path("../../mibs"); };
|
||
|
use NetSNMP::OID;
|
||
|
|
||
|
ok(1); # If we made it this far, we're ok.
|
||
|
|
||
|
#########################
|
||
|
|
||
|
# Insert your test code below, the Test module is use()ed here so read
|
||
|
# its man page ( perldoc Test ) for help writing this test script.
|
||
|
|
||
|
my $oid = new NetSNMP::OID(".1.3.6.1");
|
||
|
ok(ref($oid) eq "NetSNMP::OID");
|
||
|
ok(ref($oid->{oidptr}) eq "netsnmp_oidPtr");
|
||
|
#print STDERR ref($oid),"\n";
|
||
|
|
||
|
my $tostring = "$oid";
|
||
|
#print STDERR "$tostring\n";
|
||
|
ok($tostring eq "internet");
|
||
|
|
||
|
my $oid2 = new NetSNMP::OID(".1.3.6.1.2");
|
||
|
$tostring = "$oid2";
|
||
|
#print STDERR "$tostring\n";
|
||
|
ok($tostring eq "mgmt");
|
||
|
|
||
|
my $oid3 = new NetSNMP::OID(".1.3.6.1");
|
||
|
|
||
|
my $val = NetSNMP::OID::snmp_oid_compare($oid, $oid2);
|
||
|
#print STDERR "compare result: $val\n";
|
||
|
ok($val == -1);
|
||
|
|
||
|
$val = $oid2->snmp_oid_compare($oid);
|
||
|
#print STDERR "compare result: $val\n";
|
||
|
ok($val == 1);
|
||
|
|
||
|
$val = NetSNMP::OID::compare($oid, $oid);
|
||
|
#print STDERR "compare result: $val\n";
|
||
|
ok($val == 0);
|
||
|
|
||
|
$val = $oid->compare($oid3);
|
||
|
#print STDERR "compare result: $val\n";
|
||
|
ok($val == 0);
|
||
|
|
||
|
ok(($oid <=> $oid2) == -1);
|
||
|
ok(($oid2 <=> $oid) == 1);
|
||
|
ok(($oid <=> $oid3) == 0);
|
||
|
|
||
|
ok($oid < $oid2);
|
||
|
ok($oid <= $oid2);
|
||
|
ok($oid2 > $oid);
|
||
|
ok($oid2 >= $oid);
|
||
|
ok($oid == $oid3);
|
||
|
ok($oid <= $oid3);
|
||
|
ok($oid >= $oid3);
|
||
|
|
||
|
ok(new NetSNMP::OID('system') < new NetSNMP::OID('interfaces'));
|
||
|
ok(new NetSNMP::OID('interfaces') > new NetSNMP::OID('system'));
|
||
|
ok(new NetSNMP::OID('sysORTable') > new NetSNMP::OID('system'));
|
||
|
|
||
|
my @a = $oid->to_array();
|
||
|
ok($a[0] == 1 && $a[1] == 3 && $a[2] == 6 && $a[3] == 1 && $#a == 3);
|
||
|
|
||
|
$oid->append(".1.2.3");
|
||
|
ok("$oid" eq "directory.2.3");
|
||
|
|
||
|
$oidmore = $oid + ".8.9.10";
|
||
|
ok($oidmore == new NetSNMP::OID("directory.2.3.8.9.10"));
|
||
|
ok("$oid" eq "directory.2.3");
|
||
|
ok(ref($oidmore) eq "NetSNMP::OID");
|
||
|
|
||
|
# += should work
|
||
|
$oidmore += ".11";
|
||
|
ok($oidmore == new NetSNMP::OID("directory.2.3.8.9.10.11"));
|
||
|
|
||
|
$oidstr = $oidmore + "\"wes\"";
|
||
|
ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.3.119.101.115"));
|
||
|
|
||
|
$oidstr = $oidmore + "\'wes\'";
|
||
|
ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.119.101.115"));
|
||
|
|
||
|
# just make sure you can do it twice (ie, not modify the original)
|
||
|
$oidstr = $oidmore + "\'wes\'";
|
||
|
ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.119.101.115"));
|
||
|
|
||
|
$oidstr = $oidmore + "internet";
|
||
|
ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.1.3.6.1"));
|
||
|
|
||
|
$oidstr = $oidmore + "999";
|
||
|
ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.999"));
|
||
|
|
||
|
$oidstr = $oidmore + (new NetSNMP::OID(".1.3.6.1"));
|
||
|
ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.1.3.6.1"));
|
||
|
|
||
|
$oid = new NetSNMP::OID("nosuchoidexists");
|
||
|
ok(ref($oid) ne "NetSNMP::OID");
|
||
|
|
||
|
ok($oidstr->length() == 15);
|
||
|
|
||
|
# multiple encoded values
|
||
|
my $newtest = new NetSNMP::OID ("nsModuleName.5.109.121.99.116.120.2.1.3.14");
|
||
|
|
||
|
if ($newtest) {
|
||
|
my $arrayback = $newtest->get_indexes();
|
||
|
|
||
|
ok($#$arrayback == 2 &&
|
||
|
$arrayback->[0] eq 'myctx' &&
|
||
|
$arrayback->[1] eq '.1.3' &&
|
||
|
$arrayback->[2] eq '14'
|
||
|
);
|
||
|
}
|
||
|
else {
|
||
|
ok(0);
|
||
|
}
|
||
|
|
||
|
# implied string
|
||
|
$newtest = new NetSNMP::OID ("snmpNotifyRowStatus.105.110.116.101.114.110.97.108.48");
|
||
|
|
||
|
if ($newtest) {
|
||
|
$arrayback = $newtest->get_indexes();
|
||
|
|
||
|
ok($#$arrayback == 0 &&
|
||
|
$arrayback->[0] eq 'internal0'
|
||
|
);
|
||
|
}
|
||
|
else {
|
||
|
ok(0);
|
||
|
}
|
||
|
|
||
|
|
||
|
|