--- trunk/t/2_soap.t 2005/05/18 12:29:35 43 +++ trunk/t/2_soap.t 2005/07/08 11:46:35 66 @@ -3,7 +3,7 @@ use strict; use blib; -use Test::More tests => 19; +use Test::More tests => 36; BEGIN { use_ok('Nos'); @@ -11,7 +11,12 @@ use_ok('SOAP::Lite'); }; -ok(my $nos = new Nos::SOAP('dsn' => 'dbi:Pg:dbname=notices'), "new"); +my $list_name = 'SOAP test'; + +ok(my $nos = new Nos::SOAP( + 'dsn' => 'dbi:Pg:dbname=notices', + 'aliases' => './t/aliases', +), "new"); ok(my $daemon = new SOAP::Transport::HTTP::Daemon(LocalAddr => 'localhost')->dispatch_to('Nos::SOAP'), "SOAP daemon"); @@ -41,12 +46,14 @@ # NewList ok(my $list_id = $soap->NewList({ - list => 'SOAP test', + list => $list_name, + from => 'SOAP list', email => 'soap-test@example.com', })->result, "NewList named"); ok(my $list_id2 = $soap->NewList( - 'SOAP test', + $list_name, + 'SOAP test list', 'soap-test@example.com', )->result, "NewList positional"); @@ -56,20 +63,34 @@ # AddMemberToList ok(my $member_id = $soap->AddMemberToList({ - list => 'SOAP test', + list => $list_name, email => 'dpavlin@rot13.org', name => 'Dobrica Pavlinusic', + ext_id => 42, })->result, "AddMemberToList named"); ok(my $member_id2 = $soap->AddMemberToList( - 'SOAP test', + $list_name, 'dpavlin@rot13.org', 'Dobrica Pavlinusic', + 42, )->result, "AddMemberToList positional"); cmp_ok($member_id, '==', $member_id2, "member_id: $member_id"); +ok($member_id = $soap->AddMemberToList({ + list => $list_name, + email => 'nobody@example.com', +})->result, "AddMemberToList named"); + +ok($member_id2 = $soap->AddMemberToList( + $list_name, + 'nobody@example.com', +)->result, "AddMemberToList positional"); + +cmp_ok($member_id, '==', $member_id2, "member_id: $member_id"); + # AddMessageToList my $msg = 'To: member@example.com @@ -80,12 +101,12 @@ '; ok(my $message_id = $soap->AddMessageToList({ - list => 'SOAP test', + list => $list_name, message => $msg, })->result, "AddMessageToList named"); ok(my $message_id2 = $soap->AddMessageToList( - 'SOAP test', + $list_name, $msg, )->result, "AddMessageToList positional"); @@ -94,15 +115,64 @@ # ListMembers -ok(my @arr = $soap->ListMembers({ - list => 'SOAP test', +ok(my $arr = $soap->ListMembers({ + list => $list_name, })->result, "ListMembers named"); -ok(my @arr2 = $soap->ListMembers( - 'SOAP test', +ok(my $arr2 = $soap->ListMembers( + $list_name, )->result, "ListMembers positional"); -eq_array(\@arr, \@arr2, "members lists same"); +eq_array($arr, $arr2, "members lists same"); + +cmp_ok($#{$arr}, '==', 1, "member count ok"); + +cmp_ok($arr->[0]->{'full_name'}, '==', 'Dobrica Pavlinusic', "full_name"); +cmp_ok($arr->[0]->{'email'}, '==', 'dpavlin@rot13.org', "email"); + +cmp_ok($arr->[1]->{'email'}, '==', 'nobody@example.com', "email"); + +# DeleteMember + +ok($soap->DeleteMemberFromList({ + list => $list_name, + email => $arr->[0]->{'email'}, +})->result, "DeleteMemberFromList ".$arr->[0]->{'email'}); + + +ok($arr = $soap->ListMembers({ + list => $list_name, +})->result, "ListMembers named"); + +cmp_ok($#{$arr}, '==', 0, "member deleted"); + +# DeleteList + +ok($soap->DeleteList({ + list => $list_name, +})->result, "DeleteList named"); + +ok(my $has_members = $soap->ListMembers({ + list => $list_name, +})->result, "ListMembers for $list_name"); + +cmp_ok($#{$has_members}, '==', -1, "ok, no members"); + +ok($list_id = $soap->NewList({ + list => $list_name, + from => 'SOAP list', + email => 'soap-test@example.com', +})->result, "NewList $list_name (recreated)"); + +ok($soap->DeleteList( + $list_name, +)->result, "DeleteList positional"); + +ok($has_members = $soap->ListMembers({ + list => $list_name, +})->result, "ListMembers for $list_name"); + +cmp_ok($#{$has_members}, '==', -1, "ok, no members"); # kill server