[BACK]Return to network_tests.t CVS log [TXT][DIR] Up to [local] / HOPE / Net-OpenAMD / t

Diff for /HOPE/Net-OpenAMD/t/network_tests.t between version 1.4 and 1.13

version 1.4, 2010/06/27 01:52:33 version 1.13, 2010/07/14 02:54:03
Line 1 
Line 1 
 #!perl  #!perl
 package NetworkTests;  package NetworkTests;
   
 # $AFresh1: network_tests.t,v 1.3 2010/06/26 16:50:40 andrew Exp $  # $AFresh1: network_tests.t,v 1.12 2010/07/13 06:10:31 andrew Exp $
   
 use strict;  use strict;
 use warnings;  use warnings;
   
 use Test::More;  use Test::More;
   use Test::Deep;
 use Net::OpenAMD;  use Net::OpenAMD;
   
   #use Data::Dumper;
   
 if ( !caller() ) {  if ( !caller() ) {
     if ( $ENV{'NETWORK_TESTS'} ) {      if ( $ENV{'NETWORK_TESTS'} ) {
           plan tests => 31;
         # plan tests => ??;  
     }      }
     else {      else {
         plan skip_all => "Set env NETWORK_TESTS to test";          plan skip_all =>
               'Network test.  Set $ENV{NETWORK_TESTS} to a true value to run.';
     }      }
   
     my $amd = Net::OpenAMD->new();      my $amd
           = Net::OpenAMD->new( { base_uri => 'http://api.hope.net/api/', } );
     run_tests($amd);      run_tests($amd);
   
     done_testing();      #done_testing();
 }  }
   
 1;  1;
Line 29 
Line 33 
 sub run_tests {  sub run_tests {
     my ($amd) = @_;      my ($amd) = @_;
   
       my @interests = (
           "new tech",           "activism",
           "radio",              "lockpicking",
           "crypto",             "privacy",
           "ethics",             "telephones",
           "social engineering", "hacker spaces",
           "hardware hacking",   "nostalgia",
           "communities",        "science",
           "government",         "network security",
           "malicious software", "pen testing",
           "web",                "niche hacks",
           "media"
       );
       my %cmp = (
           single_line   => re('^[^\n]+$'),
           multi_line    => re('(?xms:^.*$)'),
           digits        => re('^\d+$'),
           track         => any( 'Lovelace', 'Tesla', 'Bell', 'Hooper' ),
           area          => any('Engressia'),
           interests     => any(@interests),
           all_interests => bag(@interests),
           coordinate    => re('^\d\d\.\d+$'),
           boolean => any( 'True', 'False' ),
       );
   
       $cmp{user} = [
           $cmp{single_line},
           superhashof(
               {   name => $cmp{single_line},
   
                   #interests => array_each( $cmp{interests} ),
                   #x         => $cmp{coordinate},
                   #y         => $cmp{coordinate},
               }
           ),
       ];
   
       $cmp{speaker} = [
           $cmp{single_line},
           {   name => $cmp{single_line},
               bio  => $cmp{multi_line},
           }
       ];
   
       $cmp{location} = superhashof(
           {   area => $cmp{area},
               user => $cmp{digits},
   
               #button => $cmp{boolean},
               x => $cmp{coordinate},
               y => $cmp{coordinate},
   
               #time   => $cmp{single_line},
           }
       );
   
     my %tests = (      my %tests = (
         location => [          location => [
             {   args   => undef,              {   args   => undef,
                 expect => [                  expect => array_each( $cmp{location} ),
                     {   'y'      => '83.1452331542969',  
                         'area'   => 'Engressia',  
                         'time'   => 2387,  
                         'user'   => 12983,  
                         'x'      => '46.7369918823242',  
                         'button' => 'False'  
                     }  
                 ],  
             },              },
               {   args   => { user => 'user0' },
                   expect => array_each(),
               },
               {   args   => { user => 'user0', limit => 5 },
                   expect => array_each(),
               },
               {   args   => { area => 'Engressa' },
                   expect => array_each(),
               },
         ],          ],
         speakers => [          speakers => [
             {   args   => undef,              {   args   => undef,
                 expect => [                  expect => array_each( $cmp{speaker} ),
                     {   'name' => 'Johnny',  
                         'bio'  => 'Johnny\'s bio'  
                     },  
                 ],  
             },              },
               {   args => { name => 'The Cheshire Catalyst' },
                   expect => array_each( $cmp{speaker} ),
               },
         ],          ],
         talks => [          talks => [
             {   args   => undef,              {   args   => undef,
                 expect => [                  expect => array_each(
                     {   'speakers'  => [ 'Judas', 'JohnnyX' ],                      {   abstract => $cmp{multi_line},
                         'interests' => [ 'media', 'crypto' ],                          speakers => array_each( $cmp{single_line} ),
                         'time'      => '2008/7/18 13:00:00',                          time     => $cmp{single_line},
                         'track'     => 'Hooper',                          title    => $cmp{single_line},
                         'title' => 'Ancient Egyptian Music and DRM',                          track    => $cmp{track},
                         'abstract' =>  
                             'A discussion of the development of musical notation, which was designed as a means of reproducing music while making it impossible for the general public to perform without permission.'  
                     }                      }
                 ],                  ),
             },              },
               {   args   => { interests => 'lockpicking' },
                   expect => array_each(
                       {   abstract => $cmp{multi_line},
                           speakers => array_each( $cmp{single_line} ),
                           time     => $cmp{single_line},
                           title    => $cmp{single_line},
                           track    => $cmp{track},
   
                           # interests => 'lockpicking',
                       }
                   ),
               },
         ],          ],
         interests => [          interests => [
             {   args   => undef,              {   args   => undef,
                 expect => [                  expect => $cmp{all_interests},
                     'new tech',           'activism',  
                     'radio',              'lockpicking',  
                     'crypto',             'privacy',  
                     'ethics',             'telephones',  
                     'social engineering', 'hacker spaces',  
                     'hardware hacking',   'nostalgia',  
                     'communities',        'science',  
                     'government',         'network security',  
                     'malicious software', 'pen testing',  
                     'web',                'niche hacks',  
                     'media',  
                 ],  
             },              },
         ],          ],
         users => [          users => [
             {   args   => undef,              {   args   => undef,
                 expect => [                  expect => array_each( $cmp{user} ),
                     {   'name'      => 'JohnnyX',  
                         'x'         => '32.54091324',  
                         'y'         => '54.10958384',  
                         'interests' => [  
                             'new tech',           'radio',  
                             'lockpicking',        'crypto',  
                             'telephones',         'social engineering',  
                             'hacker spaces',      'hardware hacking',  
                             'nostalgia',          'communities',  
                             'science',            'network security',  
                             'malicious software', 'pen testing'  
                         ],  
                     }  
                 ]  
             },              },
               {   args   => { user => 'user0' },
                   expect => array_each( $cmp{user} ),
               },
               {   args   => { user => 'user0', limit => 20 },
                   expect => array_each( $cmp{user} ),
               },
               {   args   => { interests => 'lockpicking' },
                   expect => array_each( $cmp{user} ),
               },
         ],          ],
         stats => [          stats => [
             {   args   => undef,              {   args   => undef,
Line 119 
Line 172 
             }              }
             elsif ( ref $test->{expect} ) {              elsif ( ref $test->{expect} ) {
                 is( $@, '', "AMD->$method($test->{args})" );                  is( $@, '', "AMD->$method($test->{args})" );
                 is_deeply( $result, $test->{expect}, 'got expected result' );                  cmp_deeply( $result, $test->{expect},
                             "AMD->$method($test->{args}) - "
                           . 'got expected result' );
             }              }
             else {              else {
                 is( $@, $test->{expect}, "AMD->$method($test->{args})" );                  is( $@, $test->{expect}, "AMD->$method($test->{args})" );

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.13

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