=================================================================== RCS file: /cvs/HOPE/Net-OpenAMD/t/network_tests.t,v retrieving revision 1.10 retrieving revision 1.14 diff -u -r1.10 -r1.14 --- HOPE/Net-OpenAMD/t/network_tests.t 2010/07/13 04:23:48 1.10 +++ HOPE/Net-OpenAMD/t/network_tests.t 2010/07/17 12:46:47 1.14 @@ -1,7 +1,7 @@ #!perl package NetworkTests; -# $AFresh1: network_tests.t,v 1.9 2010/07/13 02:27:06 andrew Exp $ +# $AFresh1: network_tests.t,v 1.13 2010/07/14 01:54:03 andrew Exp $ use strict; use warnings; @@ -9,19 +9,19 @@ use Test::More; use Test::Deep; use Net::OpenAMD; -use Data::Dumper; +#use Data::Dumper; + if ( !caller() ) { if ( $ENV{'NETWORK_TESTS'} ) { - plan tests => 13; + plan tests => 14; } else { plan skip_all => 'Network test. Set $ENV{NETWORK_TESTS} to a true value to run.'; } - my $amd - = Net::OpenAMD->new( { base_uri => 'http://api.hope.net/api/', } ); + my $amd = Net::OpenAMD->new(); run_tests($amd); #done_testing(); @@ -53,39 +53,63 @@ area => any('Engressia'), interests => any(@interests), all_interests => bag(@interests), - coordinate => re('^\d\d\.\d+$'), + coordinate => re('^\d{1,2}\.\d+$'), boolean => any( 'True', 'False' ), ); - #$cmp{speaker} = $cmp{single_line}; + $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{single_line}, + + #button => $cmp{boolean}, + x => $cmp{coordinate}, + y => $cmp{coordinate}, + + #time => $cmp{single_line}, + } + ); + my %tests = ( location => [ { args => undef, - expect => array_each( - { area => $cmp{area}, - user => $cmp{digits}, - button => $cmp{boolean}, - x => $cmp{coordinate}, - y => $cmp{coordinate}, - time => $cmp{single_line}, - } - ), + expect => array_each( $cmp{location} ), }, { args => { user => 'user0' }, - expect => array_each(), + expect => qr/^Invalid \s JSON/xms, }, + { args => { user => 'user0', limit => 5 }, + expect => qr/^Invalid \s JSON/xms, + }, + { args => { area => 'Lovelace' }, + expect => array_each( $cmp{location} ), + }, ], speakers => [ { args => undef, - expect => array_each( - [ $cmp{single_line}, - { name => $cmp{single_line}, - bio => $cmp{multi_line}, - } - ] - ), + expect => array_each( $cmp{speaker} ), }, + { args => { name => 'The Cheshire Catalyst' }, + expect => array_each( $cmp{speaker} ), + }, ], talks => [ { args => undef, @@ -98,6 +122,18 @@ } ), }, + { 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 => [ { args => undef, @@ -106,16 +142,17 @@ ], users => [ { args => undef, - expect => array_each( - $cmp{single_line}, - { name => $cmp{single_line}, - - #interests => array_each( $cmp{interests} ), - #x => $cmp{coordinate}, - #y => $cmp{coordinate}, - } - ), + expect => array_each( $cmp{user} ), }, + { 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 => [ { args => undef, @@ -133,10 +170,14 @@ like( $@, $test->{expect}, "AMD->$method($test->{args})" ); } elsif ( ref $test->{expect} ) { - is( $@, '', "AMD->$method($test->{args})" ); - cmp_deeply( $result, $test->{expect}, - "AMD->$method($test->{args}) - " - . 'got expected result' ); + if ($@) { + is( $@, '', "AMD->$method($test->{args})" ); + } + else { + cmp_deeply( $result, $test->{expect}, + "AMD->$method($test->{args}) - " + . 'got expected result' ); + } } else { is( $@, $test->{expect}, "AMD->$method($test->{args})" );