version 1.1, 2007/02/06 00:42:33 |
version 1.5, 2007/02/06 17:40:02 |
|
|
#!perl -T |
#!perl -T |
# $RedRiver: 50-network.t,v 1.4 2007/02/05 23:11:21 andrew Exp $ |
# $RedRiver: 51-network-add_su-ap.t,v 1.4 2007/02/06 16:52:21 andrew Exp $ |
|
|
use Test::More tests => 7; |
use Test::More tests => 12; |
use File::Spec; |
use File::Spec; |
|
|
BEGIN { |
BEGIN { |
|
|
} |
} |
|
|
diag("Testing Net::Telnet::Trango $Net::Telnet::Trango::VERSION, Perl $], $^X"); |
diag("Testing Net::Telnet::Trango $Net::Telnet::Trango::VERSION, Perl $], $^X"); |
diag(" Generic tests"); |
diag(" AP tests when adding an SU to an AP"); |
|
|
my $cfg_file = File::Spec->catfile('t', 'tests.cfg'); |
my $cfg_file = File::Spec->catfile('t', 'tests.cfg'); |
my ($cir, $mir) = (128, 256); |
my ($cir, $mir) = (128, 256); |
|
|
SKIP: { |
SKIP: { |
my $skipped = 6; |
my $skipped = 11; |
my %cfg; |
my %cfg; |
if (-e $cfg_file) { |
if (-e $cfg_file) { |
if (open my $fh, $cfg_file) { |
if (open my $fh, $cfg_file) { |
|
|
my $t; |
my $t; |
ok($t = Net::Telnet::Trango->new(), "Instantiating object"); |
ok($t = Net::Telnet::Trango->new(), "Instantiating object"); |
|
|
$t->input_log('input.log'); # XXX Debugging |
|
|
|
ok($t->open($host), "Opening connection to $host"); |
ok($t->open($host), "Opening connection to $host"); |
|
|
ok($t->is_connected, "connected"); |
ok($t->is_connected, "connected"); |
|
|
|
|
ok($t->logged_in, "logged in"); |
ok($t->logged_in, "logged in"); |
|
|
|
|
my $sudb; |
my $sudb; |
ok($sudb = $t->sudb_view, "Getting sudb"); |
if ((!ok($sudb = $t->sudb_view, "Getting sudb")) |
|
&& $t->last_error ) { |
|
diag('ERR: ' . $t->last_error); |
|
} |
|
|
use YAML; |
my $in_sudb = 0; |
print Dump $sudb; |
foreach my $su (@{ $sudb }) { |
|
if ($su_id == $su->{suid}) { |
|
if (lc($su_mac) eq lc($su->{mac})) { |
|
$in_sudb = 1; |
|
} else { |
|
$in_sudb = -1; |
|
diag("Incorrect mac for SUID $su_id"); |
|
diag(" Should be $su_mac"); |
|
diag(" Really is $su->{mac}"); |
|
} |
|
last; |
|
} |
|
} |
|
|
my $result; |
if ($in_sudb) { |
ok($result = $t->sudb_add($su_id, 'reg', $cir, $mir, $su_mac), "Adding su"); |
diag("Removing suid $su_id from AP"); |
|
if ( (! $t->sudb_delete($su_id)) |
|
&& $t->last_error ) { |
|
diag('ERR: ' . $t->last_error); |
|
} |
|
} |
|
|
if ( (! $result ) && $t->last_error ) { |
|
|
if ( (! ok($t->sudb_add($su_id, 'reg', $cir, $mir, $su_mac), "Adding su")) |
|
&& $t->last_error ) { |
diag('ERR: ' . $t->last_error); |
diag('ERR: ' . $t->last_error); |
} |
} |
|
|
ok($result = $t->save_sudb, "Saving sudb"); |
if ( (! ok($t->save_sudb, "Saving sudb")) |
|
&& $t->last_error ) { |
if ( (! $result ) && $t->last_error ) { |
|
diag('ERR: ' . $t->last_error); |
diag('ERR: ' . $t->last_error); |
} |
} |
|
|
$result = $t->opmode('ap y'); |
$sudb = []; |
if ( (! $result ) && $t->last_error ) { |
if ((!ok($sudb = $t->sudb_view, "Getting sudb")) |
|
&& $t->last_error ) { |
diag('ERR: ' . $t->last_error); |
diag('ERR: ' . $t->last_error); |
} |
} |
|
|
my $opmode; |
$in_sudb = 0; |
ok($opmode = $t->opmode, "getting current opmode"); |
foreach my $su (@{ $sudb }) { |
|
if ($su_id == $su->{suid}) { |
if (ref $opmode eq 'HASH' && $opmode->{ERR}) { |
if (lc($su_mac) eq lc($su->{mac})) { |
diag("Error: $opmode->{ERR}"); |
$in_sudb = 1; |
|
} else { |
|
$in_sudb = -1; |
|
diag("Incorrect mac for SUID $su_id"); |
|
diag(" Should be $su_mac"); |
|
diag(" Really is $su->{mac}"); |
|
} |
|
last; |
|
} |
} |
} |
|
|
is($opmode->{Opmode}, 'ap', "Checking opmode is ap"); |
is($in_sudb, 1, "Correct SU is in SUDB"); |
|
|
ok($t->bye, "Goodbye"); |
ok($t->bye, "Goodbye"); |
} |
} |