| version 1.11, 2010/07/13 04:37:47 |
version 1.15, 2010/07/17 13:10:48 |
|
|
| #!perl |
#!perl |
| package NetworkTests; |
package NetworkTests; |
| |
|
| # $AFresh1: network_tests.t,v 1.10 2010/07/13 03:23:48 andrew Exp $ |
# $AFresh1: network_tests.t,v 1.14 2010/07/17 11:46:47 andrew Exp $ |
| |
|
| use strict; |
use strict; |
| use warnings; |
use warnings; |
|
|
| |
|
| if ( !caller() ) { |
if ( !caller() ) { |
| if ( $ENV{'NETWORK_TESTS'} ) { |
if ( $ENV{'NETWORK_TESTS'} ) { |
| plan tests => 13; |
plan tests => 14; |
| } |
} |
| else { |
else { |
| plan skip_all => |
plan skip_all => |
| 'Network test. Set $ENV{NETWORK_TESTS} to a true value to run.'; |
'Network test. Set $ENV{NETWORK_TESTS} to a true value to run.'; |
| } |
} |
| |
|
| my $amd |
my $amd = Net::OpenAMD->new(); |
| = Net::OpenAMD->new( { base_uri => 'http://api.hope.net/api/', } ); |
|
| run_tests($amd); |
run_tests($amd); |
| |
|
| #done_testing(); |
#done_testing(); |
|
|
| area => any('Engressia'), |
area => any('Engressia'), |
| interests => any(@interests), |
interests => any(@interests), |
| all_interests => bag(@interests), |
all_interests => bag(@interests), |
| coordinate => re('^\d\d\.\d+$'), |
coordinate => re('^\d{1,2}\.\d+$'), |
| boolean => any( 'True', 'False' ), |
boolean => any( 'True', 'False' ), |
| ); |
); |
| |
|
| $cmp{user} = [ |
$cmp{user} = [ |
| $cmp{single_line}, |
$cmp{single_line}, |
| { name => $cmp{single_line}, |
superhashof( |
| |
{ name => $cmp{single_line}, |
| |
|
| #interests => array_each( $cmp{interests} ), |
#interests => array_each( $cmp{interests} ), |
| #x => $cmp{coordinate}, |
#x => $cmp{coordinate}, |
| #y => $cmp{coordinate}, |
#y => $cmp{coordinate}, |
| } |
} |
| |
), |
| ]; |
]; |
| |
|
| $cmp{speaker} = [ |
$cmp{speaker} = [ |
|
|
| } |
} |
| ]; |
]; |
| |
|
| |
$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 = ( |
my %tests = ( |
| location => [ |
location => [ |
| { args => undef, |
{ args => undef, |
| expect => array_each( |
expect => array_each( $cmp{location} ), |
| { area => $cmp{area}, |
|
| user => $cmp{digits}, |
|
| button => $cmp{boolean}, |
|
| x => $cmp{coordinate}, |
|
| y => $cmp{coordinate}, |
|
| time => $cmp{single_line}, |
|
| } |
|
| ), |
|
| }, |
}, |
| { args => { user => 'user0' }, |
{ args => { user => 'user0' }, |
| expect => array_each(), |
expect => qr/^Invalid \s JSON|$/xms, |
| }, |
}, |
| { args => { user => 'user0', limit => 20 }, |
{ args => { user => 'user0', limit => 5 }, |
| expect => array_each(), |
expect => qr/^Invalid \s JSON|$/xms, |
| }, |
}, |
| { args => { area => 'Engressa' }, |
{ args => { area => 'Lovelace' }, |
| expect => array_each(), |
expect => array_each( $cmp{location} ), |
| }, |
}, |
| ], |
], |
| speakers => [ |
speakers => [ |
|
|
| like( $@, $test->{expect}, "AMD->$method($test->{args})" ); |
like( $@, $test->{expect}, "AMD->$method($test->{args})" ); |
| } |
} |
| elsif ( ref $test->{expect} ) { |
elsif ( ref $test->{expect} ) { |
| is( $@, '', "AMD->$method($test->{args})" ); |
if ($@) { |
| cmp_deeply( $result, $test->{expect}, |
is( $@, '', "AMD->$method($test->{args})" ); |
| "AMD->$method($test->{args}) - " |
} |
| . 'got expected result' ); |
else { |
| |
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})" ); |