[BACK]Return to 51-network-add_su-ap.t CVS log [TXT][DIR] Up to [local] / trango / Net-Telnet-Trango / t

Diff for /trango/Net-Telnet-Trango/t/51-network-add_su-ap.t between version 1.8 and 1.9

version 1.8, 2007/02/06 20:59:10 version 1.9, 2009/07/09 22:50:36
Line 1 
Line 1 
 #!perl -T  #!perl -T
 # $RedRiver: 51-network-add_su-ap.t,v 1.7 2007/02/06 19:09:25 andrew Exp $  # $RedRiver: 51-network-add_su-ap.t,v 1.8 2007/02/06 20:59:10 andrew Exp $
   
 use Test::More tests => 17;  use Test::More tests => 20;
 use File::Spec;  use File::Spec;
   
 BEGIN {  BEGIN {
         use_ok( 'Net::Telnet::Trango' );      use_ok('Net::Telnet::Trango');
 }  }
   
 diag("51: AP tests when adding an SU to an AP");  diag("51: 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, $new_mir) = (128, 256, 1024);  my ( $pri, $new_pri, $su2su, $new_su2su ) = ( 'reg', 'pri', '0', 'F' );
   my ( $cir, $mir, $new_mir ) = ( 128, 256, 1024 );
   
 SKIP: {  SKIP: {
     my $skipped = 16;      my $skipped = 19;
     my %cfg;      my %cfg;
     if (-e $cfg_file) {      if ( -e $cfg_file ) {
         if (open my $fh, $cfg_file) {          if ( open my $fh, $cfg_file ) {
             while (<$fh>) {              while (<$fh>) {
                 chomp;                  chomp;
                 my ($key, $value) = split /\t/, $_, 2;                  my ( $key, $value ) = split /\t/, $_, 2;
                 $cfg{$key} = $value;                  $cfg{$key} = $value;
             }              }
             close $fh;              close $fh;
Line 28 
Line 29 
     }      }
   
     my $type = 'AP';      my $type = 'AP';
     my ($host, $pass, $su_id, $su_mac);      my ( $host, $pass, $su_id, $su_mac );
   
     if ($cfg{$type} && $cfg{$type} =~ /^(\d+\.\d+\.\d+.\d+)$/) {      if ( $cfg{$type} && $cfg{$type} =~ /^(\d+\.\d+\.\d+.\d+)$/ ) {
         $host = $1;          $host = $1;
     }      }
   
     skip 'No valid ' . $type . ' in config file',        $skipped unless $host;      skip 'No valid ' . $type . ' in config file', $skipped unless $host;
   
     if ($cfg{$type . '_PASSWD'} && $cfg{$type . '_PASSWD'} =~ /^(.*)$/) {      if ( $cfg{ $type . '_PASSWD' } && $cfg{ $type . '_PASSWD' } =~ /^(.*)$/ )
       {
         $pass = $1;          $pass = $1;
     }      }
   
     skip 'No valid ' . $type . '_PASSWD in config file', $skipped unless $pass;      skip 'No valid ' . $type . '_PASSWD in config file', $skipped
           unless $pass;
   
     if ($cfg{SU_ID} && $cfg{SU_ID} =~ /^(\d+)$/) {      if ( $cfg{SU_ID} && $cfg{SU_ID} =~ /^(\d+)$/ ) {
         $su_id= $1;          $su_id = $1;
     }      }
   
     skip 'No valid SU_ID in config file', $skipped unless $su_id;      skip 'No valid SU_ID in config file', $skipped unless $su_id;
   
     if ($cfg{SU_MAC} && length $cfg{SU_MAC} >= 12 && $cfg{SU_MAC} =~ /^(.*)$/) {      if (   $cfg{SU_MAC}
           && length $cfg{SU_MAC} >= 12
           && $cfg{SU_MAC} =~ /^(.*)$/ )
       {
         $su_mac = $1;          $su_mac = $1;
     }      }
   
     skip 'No valid SU_MAC in config file', $skipped unless $su_mac;      skip 'No valid SU_MAC in config file', $skipped unless $su_mac;
   
     my $t;      my $t;
     ok($t = Net::Telnet::Trango->new(), "Instantiating object");      ok( $t = Net::Telnet::Trango->new(), "Instantiating object" );
   
     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->login($pass), "Logging in");      ok( $t->login($pass), "Logging in" );
   
     ok($t->logged_in, "logged in");      ok( $t->logged_in, "logged in" );
   
     my $sudb;      my $sudb;
     if ((!ok($sudb = $t->sudb_view, "Getting sudb"))      if ( ( !ok( $sudb = $t->sudb_view, "Getting sudb" ) )
       && $t->last_error ) {          && $t->last_error )
         diag('ERR: ' . $t->last_error);      {
           diag( 'ERR: ' . $t->last_error );
     }      }
   
     my $in_sudb = 0;      my $in_sudb = 0;
     foreach my $su (@{ $sudb }) {      foreach my $su ( @{$sudb} ) {
         if ($su_id == $su->{suid}) {          if ( $su_id == $su->{suid} ) {
             if (lc($su_mac) eq lc($su->{mac})) {              if ( lc($su_mac) eq lc( $su->{mac} ) ) {
                 $in_sudb = 1;                  $in_sudb = $su;
             } else {              }
               else {
                 $in_sudb = -1;                  $in_sudb = -1;
                 diag("Incorrect mac for SUID $su_id");                  diag("Incorrect mac for SUID $su_id");
                 diag("  Should be $su_mac");                  diag("  Should be $su_mac");
Line 87 
Line 95 
     }      }
   
     if ($in_sudb) {      if ($in_sudb) {
   
         diag("Removing suid $su_id from AP");          diag("Removing suid $su_id from AP");
         if ( (! $t->sudb_delete($su_id))          if ( ( !$t->sudb_delete($su_id) )
           && $t->last_error ) {              && $t->last_error )
             diag('ERR: ' . $t->last_error);          {
               diag( 'ERR: ' . $t->last_error );
         }          }
     }      }
   
       if ((   !ok($t->sudb_add( $su_id, $pri, $cir, $mir, $su_mac ),
     if ( (! ok($t->sudb_add($su_id, 'reg', $cir, $mir, $su_mac), "Adding su"))                  "Adding su"
       && $t->last_error ) {              )
         diag('ERR: ' . $t->last_error);          )
           && $t->last_error
           )
       {
           diag( 'ERR: ' . $t->last_error );
     }      }
   
     $sudb = [];      $sudb = [];
     if ((!ok($sudb = $t->sudb_view, "Getting sudb"))      if ( ( !ok( $sudb = $t->sudb_view, "Getting sudb" ) )
       && $t->last_error ) {          && $t->last_error )
         diag('ERR: ' . $t->last_error);      {
           diag( 'ERR: ' . $t->last_error );
     }      }
   
     $in_sudb = 0;      $in_sudb = 0;
     my $su_mir = 0;      my $su_mir   = 0;
     foreach my $su (@{ $sudb }) {      my $su_su2su = '';
         if ($su_id == $su->{suid}) {      my $su_type  = '';
             if (lc($su_mac) eq lc($su->{mac})) {      foreach my $su ( @{$sudb} ) {
                 $su_mir = $su->{mir};          if ( $su_id == $su->{suid} ) {
               if ( lc($su_mac) eq lc( $su->{mac} ) ) {
                 $in_sudb = 1;                  $in_sudb = 1;
             } else {                  $su_mir   = $su->{mir};
                   $su_su2su = $su->{su2su};
                   $su_type  = $su->{type};
               }
               else {
                 $in_sudb = -1;                  $in_sudb = -1;
                 diag("Incorrect mac for SUID $su_id");                  diag("Incorrect mac for SUID $su_id");
                 diag("  Should be $su_mac");                  diag("  Should be $su_mac");
Line 123 
Line 143 
         }          }
     }      }
   
     is($in_sudb, 1, "Correct SU is in SUDB");      is( $in_sudb, 1, "Correct SU is in SUDB" );
   
     if ( (! ok($t->save_sudb, "Saving sudb"))      if ( ( !ok( $t->save_sudb, "Saving sudb" ) )
       && $t->last_error ) {          && $t->last_error )
         diag('ERR: ' . $t->last_error);      {
           diag( 'ERR: ' . $t->last_error );
     }      }
   
     is($mir, $su_mir, "SU has correct mir");      is( $mir,   $su_mir,   "SU has correct mir" );
       is( $su2su, $su_su2su, "SU is in correct group" );
       is( $pri,   $su_type,  'SU has correct type' );
   
     if ( (! ok($t->sudb_modify($su_id, 'mir', $new_mir), "modifying su mir"))      if ((   !ok($t->sudb_modify( $su_id, 'mir', $new_mir ),
       && $t->last_error ) {                  "modifying su mir"
         diag('ERR: ' . $t->last_error);              )
           )
           && $t->last_error
           )
       {
           diag( 'ERR: ' . $t->last_error );
     }      }
   
     $sudb = [];      $sudb = [];
     if ((!ok($sudb = $t->sudb_view, "Getting sudb"))      if ( ( !ok( $sudb = $t->sudb_view, "Getting sudb" ) )
       && $t->last_error ) {          && $t->last_error )
         diag('ERR: ' . $t->last_error);      {
           diag( 'ERR: ' . $t->last_error );
     }      }
   
     $su_mir = 0;      $su_mir = 0;
     foreach my $su (@{ $sudb }) {      foreach my $su ( @{$sudb} ) {
         if ($su_id == $su->{suid}) {          if ( $su_id == $su->{suid} ) {
             $su_mir = $su->{mir};              $su_mir = $su->{mir};
             last;              last;
         }          }
     }      }
   
     is($new_mir, $su_mir, "SU has new mir");      is( $new_mir, $su_mir, "SU has new mir" );
   
     if ( (! ok($t->save_sudb, "Saving sudb"))      if ((   !ok($t->sudb_modify( $su_id, 'su2su', $new_su2su ),
       && $t->last_error ) {                  "modifying su su2su"
         diag('ERR: ' . $t->last_error);              )
           )
           && $t->last_error
           )
       {
           diag( 'ERR: ' . $t->last_error );
     }      }
   
     ok($t->bye, "Goodbye");      $sudb = [];
       if ( ( !ok( $sudb = $t->sudb_view, "Getting sudb" ) )
           && $t->last_error )
       {
           diag( 'ERR: ' . $t->last_error );
       }
   
       $su_su2su = 0;
       foreach my $su ( @{$sudb} ) {
           if ( $su_id == $su->{suid} ) {
               $su_su2su = $su->{su2su};
               last;
           }
       }
   
       is( $new_su2su, $su_su2su, "SU has new su2su" );
   
       if ( ( !ok( $t->save_sudb, "Saving sudb" ) )
           && $t->last_error )
       {
           diag( 'ERR: ' . $t->last_error );
       }
   
       ok( $t->bye, "Goodbye" );
 }  }

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>