/[notice-sender]/trunk/t/2_soap.t
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/t/2_soap.t

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 44 by dpavlin, Wed May 18 12:32:56 2005 UTC revision 90 by dpavlin, Mon Dec 18 19:35:04 2006 UTC
# Line 3  Line 3 
3  use strict;  use strict;
4  use blib;  use blib;
5    
6  use Test::More tests => 22;  use Test::More tests => 40;
7    
8  BEGIN {  BEGIN {
9          use_ok('Nos');          use_ok('Nos');
10          use_ok('SOAP::Transport::HTTP');          use_ok('SOAP::Transport::HTTP');
11          use_ok('SOAP::Lite');          use_ok('SOAP::Lite');
12            use_ok('Cwd');
13  };  };
14    
15  ok(my $nos = new Nos::SOAP('dsn' => 'dbi:Pg:dbname=notices'), "new");  use Data::Dump qw/dump/;
16    
17  ok(my $daemon = new SOAP::Transport::HTTP::Daemon(LocalAddr => 'localhost')->dispatch_to('Nos::SOAP'), "SOAP daemon");  my $debug = 0;
18    my $list_name = 'SOAP test';
19    
20    $debug = 1 if (@ARGV);
21    
22    my $aliases = Cwd::abs_path($0);
23    $aliases =~ s#/[^/]*$#/#;
24    $aliases .= 'aliases';
25    
26    ok($aliases, "using aliases file $aliases");
27    
28    ok(my $nos = new Nos::SOAP(
29            'dsn' => 'dbi:Pg:dbname=notices',
30            'aliases' => $aliases,
31    ), "new Nos::SOAP");
32    
33    ok(my $daemon = new SOAP::Transport::HTTP::Daemon(LocalAddr => 'localhost')->dispatch_to('Nos::SOAP'), "SOAP daemon");
34    
35  # start server  # start server
36    
# Line 38  my $soap = SOAP::Lite Line 54  my $soap = SOAP::Lite
54          ->uri('http://localhost/Nos/SOAP/')          ->uri('http://localhost/Nos/SOAP/')
55          ->proxy($daemon->url);          ->proxy($daemon->url);
56    
57  # NewList  $soap->on_debug(sub{print "## ", join("\n## ",@_), "\n";}) if ($debug);
58    
59  ok(my $list_id = $soap->NewList({  # CreateList
         list => 'SOAP test',  
         email => 'soap-test@example.com',  
 })->result, "NewList named");  
60    
61  ok(my $list_id2 = $soap->NewList(  ok(my $list_id = $soap->CreateList({
62          'SOAP test',                  list => $list_name,
63                    from => 'SOAP list',
64                    email => 'soap-test@example.com',
65    })->result, "CreateList named");
66    
67    ok(my $list_id2 = $soap->CreateList(
68            $list_name,
69            'SOAP test list',
70          'soap-test@example.com',          'soap-test@example.com',
71  )->result, "NewList positional");  )->result, "CreateList positional");
72    
73  cmp_ok($list_id, '==', $list_id2, "list_id $list_id");  cmp_ok($list_id, '==', $list_id2, "list_id $list_id");
74    
# Line 56  cmp_ok($list_id, '==', $list_id2, "list_ Line 76  cmp_ok($list_id, '==', $list_id2, "list_
76  # AddMemberToList  # AddMemberToList
77    
78  ok(my $member_id = $soap->AddMemberToList({  ok(my $member_id = $soap->AddMemberToList({
79          list => 'SOAP test',          list => $list_name,
80          email => 'dpavlin@rot13.org',          email => 'dpavlin@rot13.org',
81          name => 'Dobrica Pavlinusic',          name => 'Dobrica Pavlinusic',
82            ext_id => 42,
83  })->result, "AddMemberToList named");  })->result, "AddMemberToList named");
84    
85  ok(my $member_id2 = $soap->AddMemberToList(  ok(my $member_id2 = $soap->AddMemberToList(
86          'SOAP test',          $list_name,
87          'dpavlin@rot13.org',          'dpavlin@rot13.org',
88          'Dobrica Pavlinusic',          'Dobrica Pavlinusic',
89            42,
90  )->result, "AddMemberToList positional");  )->result, "AddMemberToList positional");
91    
92  cmp_ok($member_id, '==', $member_id2, "member_id: $member_id");  cmp_ok($member_id, '==', $member_id2, "member_id: $member_id");
93    
94    
95    ok($member_id = $soap->AddMemberToList({
96            list => $list_name,
97            email => 'nobody@example.com',
98    })->result, "AddMemberToList named");
99    
100    ok($member_id2 = $soap->AddMemberToList(
101            $list_name,
102            'nobody@example.com',
103    )->result, "AddMemberToList positional");
104    
105    cmp_ok($member_id, '==', $member_id2, "member_id: $member_id");
106    
107  # AddMessageToList  # AddMessageToList
108    
109  my $msg = 'To: member@example.com  my $msg = 'To: member@example.com
# Line 80  This is a dummy test Line 114  This is a dummy test
114  ';  ';
115    
116  ok(my $message_id = $soap->AddMessageToList({  ok(my $message_id = $soap->AddMessageToList({
117          list => 'SOAP test',          list => $list_name,
118          message => $msg,          message => $msg,
119  })->result, "AddMessageToList named");  })->result, "AddMessageToList named");
120    
121  ok(my $message_id2 = $soap->AddMessageToList(  ok(my $message_id2 = $soap->AddMessageToList(
122          'SOAP test',          $list_name,
123          $msg,          $msg,
124  )->result, "AddMessageToList positional");  )->result, "AddMessageToList positional");
125    
# Line 94  cmp_ok($message_id, '==', $message_id2, Line 128  cmp_ok($message_id, '==', $message_id2,
128    
129  # ListMembers  # ListMembers
130    
131  ok(my @arr = $soap->ListMembers({  ok(my $arr = $soap->ListMembers({
132          list => 'SOAP test',          list => $list_name,
133  })->result, "ListMembers named");  })->result, "ListMembers named");
134    
135  ok(my @arr2 = $soap->ListMembers(  ok(my $arr2 = $soap->ListMembers(
136          'SOAP test',          $list_name,
137  )->result, "ListMembers positional");  )->result, "ListMembers positional");
138    
139  eq_array(\@arr, \@arr2, "members lists same");  eq_array($arr, $arr2, "members lists same");
140    
141    cmp_ok($#{$arr}, '==', 1, "member count ok");
142    
143    diag "arr = ", dump($arr) if ($debug);
144    cmp_ok($arr->[0]->{'name'}, 'eq', 'Dobrica Pavlinusic', "name");
145    cmp_ok($arr->[0]->{'email'}, 'eq', 'dpavlin@rot13.org', "email");
146    
147    cmp_ok($arr->[1]->{'email'}, 'eq', 'nobody@example.com', "email");
148    
149    # DeleteMember
150    
151    ok($soap->DeleteMemberFromList({
152            list => $list_name,
153            email => $arr->[0]->{'email'},
154    })->result, "DeleteMemberFromList ".$arr->[0]->{'email'});
155    
156    
157    ok($arr = $soap->ListMembers({
158            list => $list_name,
159    })->result, "ListMembers named");
160    
161  cmp_ok($#arr, '==', 0, "member count ok");  cmp_ok($#{$arr}, '==', 0, "member deleted");
162    
163  cmp_ok($arr[0]->{'full_name'}, '==', 'Dobrica Pavlinusic', "full_name");  # DropList
164  cmp_ok($arr[0]->{'email'}, '==', 'dpavlin@rot13.org', "email");  
165    ok($soap->DropList({
166            list => $list_name,
167    })->result, "DropList named");
168    
169    ok(my $has_members = $soap->ListMembers({
170            list => $list_name,
171    })->result, "ListMembers for $list_name");
172    
173    cmp_ok($#{$has_members}, '==', -1, "ok, no members");
174    
175    ok($list_id = $soap->CreateList({
176            list => $list_name,
177            from => 'SOAP list',
178            email => 'soap-test@example.com',
179    })->result, "CreateList $list_name (recreated)");
180    
181    ok($soap->DropList(
182            $list_name,
183    )->result, "DropList positional");
184    
185    ok($has_members = $soap->ListMembers({
186            list => $list_name,
187    })->result, "ListMembers for $list_name");
188    
189    cmp_ok($#{$has_members}, '==', -1, "ok, no members");
190    
191    diag "I should add e-mail send test!";
192    
193    =for next_version
194    
195    ok(my $nos = new Nos(
196            'dsn' => 'dbi:Pg:dbname=notices',
197            'aliases' => $aliases,
198    ), "new NOS");
199    
200    # or
201    
202    ok(my $sent = $nos->_nos_object->send_queued_messages(
203            list => $list_name,
204            driver => 'Test',
205            sleep => 0,
206    ), "send_queued_messages for $list_name");
207    
208    my @emails = Email::Send::Test->emails;
209    
210    diag "emails = ", dump( @emails );
211    
212    =cut
213    
214    # replay to messages
215    
216    ok(my $received = $soap->MessagesReceived({
217            list => $list_name,
218    })->result, "MessagesReceived for $list_name");
219    
220    diag "received = ", dump($received) if ($debug);
221    cmp_ok( scalar @$received, '==', 0, 'no messages' );
222    
223  # kill server  # kill server
224    
# Line 118  ok(waitpid($pid,0), "waitpid"); Line 229  ok(waitpid($pid,0), "waitpid");
229  ok(! kill(0, $pid), "child dead");  ok(! kill(0, $pid), "child dead");
230    
231  exit 1;  exit 1;
232    

Legend:
Removed from v.44  
changed lines
  Added in v.90

  ViewVC Help
Powered by ViewVC 1.1.26