/[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

Annotation of /trunk/t/2_soap.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 68 - (hide annotations)
Mon Aug 1 08:59:36 2005 UTC (18 years, 9 months ago) by dpavlin
File MIME type: application/x-troff
File size: 3981 byte(s)
_add_aliases now updates alias if it allready exists, added debug flag to SAOP tests

1 dpavlin 39 #!/usr/bin/perl -w
2    
3     use strict;
4     use blib;
5    
6 dpavlin 68 use Test::More tests => 38;
7 dpavlin 39
8     BEGIN {
9     use_ok('Nos');
10     use_ok('SOAP::Transport::HTTP');
11     use_ok('SOAP::Lite');
12 dpavlin 67 use_ok('Cwd');
13 dpavlin 39 };
14    
15 dpavlin 68 my $debug = 0;
16 dpavlin 62 my $list_name = 'SOAP test';
17    
18 dpavlin 67 my $aliases = Cwd::abs_path($0);
19     $aliases =~ s#/[^/]*$#/#;
20     $aliases .= 'aliases';
21    
22     ok($aliases, "using aliases file $aliases");
23    
24 dpavlin 68 ok(new Nos::SOAP(
25 dpavlin 66 'dsn' => 'dbi:Pg:dbname=notices',
26 dpavlin 67 'aliases' => $aliases,
27 dpavlin 66 ), "new");
28 dpavlin 39
29     ok(my $daemon = new SOAP::Transport::HTTP::Daemon(LocalAddr => 'localhost')->dispatch_to('Nos::SOAP'), "SOAP daemon");
30    
31 dpavlin 41 # start server
32    
33 dpavlin 39 my $pid;
34 dpavlin 40 unless ($pid = fork) {
35 dpavlin 39
36 dpavlin 40 local $SIG{HUP} = sub {
37     diag "exiting SOAP server";
38     exit 0;
39     };
40    
41 dpavlin 39 diag "SOAP server at ", $daemon->url;
42     $daemon->handle;
43 dpavlin 40
44 dpavlin 39 }
45    
46     diag "child pid: $pid";
47    
48     my $soap = SOAP::Lite
49     ->readable(1)
50     ->uri('http://localhost/Nos/SOAP/')
51     ->proxy($daemon->url);
52    
53 dpavlin 68 $soap->on_debug(sub{print "# CLIENT ",@_}) if ($debug);
54    
55 dpavlin 41 # NewList
56    
57 dpavlin 39 ok(my $list_id = $soap->NewList({
58 dpavlin 67 list => $list_name,
59     from => 'SOAP list',
60     email => 'soap-test@example.com',
61 dpavlin 41 })->result, "NewList named");
62 dpavlin 39
63 dpavlin 41 ok(my $list_id2 = $soap->NewList(
64 dpavlin 62 $list_name,
65     'SOAP test list',
66 dpavlin 41 'soap-test@example.com',
67     )->result, "NewList positional");
68 dpavlin 39
69 dpavlin 41 cmp_ok($list_id, '==', $list_id2, "list_id $list_id");
70    
71    
72     # AddMemberToList
73    
74 dpavlin 39 ok(my $member_id = $soap->AddMemberToList({
75 dpavlin 62 list => $list_name,
76 dpavlin 39 email => 'dpavlin@rot13.org',
77     name => 'Dobrica Pavlinusic',
78 dpavlin 58 ext_id => 42,
79 dpavlin 41 })->result, "AddMemberToList named");
80 dpavlin 39
81 dpavlin 41 ok(my $member_id2 = $soap->AddMemberToList(
82 dpavlin 62 $list_name,
83 dpavlin 41 'dpavlin@rot13.org',
84     'Dobrica Pavlinusic',
85 dpavlin 58 42,
86 dpavlin 41 )->result, "AddMemberToList positional");
87 dpavlin 39
88 dpavlin 41 cmp_ok($member_id, '==', $member_id2, "member_id: $member_id");
89    
90    
91 dpavlin 62 ok($member_id = $soap->AddMemberToList({
92     list => $list_name,
93     email => 'nobody@example.com',
94     })->result, "AddMemberToList named");
95    
96     ok($member_id2 = $soap->AddMemberToList(
97     $list_name,
98     'nobody@example.com',
99     )->result, "AddMemberToList positional");
100    
101     cmp_ok($member_id, '==', $member_id2, "member_id: $member_id");
102    
103 dpavlin 41 # AddMessageToList
104    
105     my $msg = 'To: member@example.com
106 dpavlin 39 From: mylist@example.com
107     Subject: text
108    
109     This is a dummy test
110 dpavlin 41 ';
111 dpavlin 39
112 dpavlin 41 ok(my $message_id = $soap->AddMessageToList({
113 dpavlin 62 list => $list_name,
114 dpavlin 41 message => $msg,
115     })->result, "AddMessageToList named");
116 dpavlin 39
117 dpavlin 41 ok(my $message_id2 = $soap->AddMessageToList(
118 dpavlin 62 $list_name,
119 dpavlin 41 $msg,
120     )->result, "AddMessageToList positional");
121    
122     cmp_ok($message_id, '==', $message_id2, "message_id: $message_id");
123    
124    
125 dpavlin 43 # ListMembers
126    
127 dpavlin 62 ok(my $arr = $soap->ListMembers({
128     list => $list_name,
129 dpavlin 43 })->result, "ListMembers named");
130    
131 dpavlin 62 ok(my $arr2 = $soap->ListMembers(
132     $list_name,
133 dpavlin 43 )->result, "ListMembers positional");
134    
135 dpavlin 62 eq_array($arr, $arr2, "members lists same");
136 dpavlin 43
137 dpavlin 62 cmp_ok($#{$arr}, '==', 1, "member count ok");
138 dpavlin 44
139 dpavlin 62 cmp_ok($arr->[0]->{'full_name'}, '==', 'Dobrica Pavlinusic', "full_name");
140     cmp_ok($arr->[0]->{'email'}, '==', 'dpavlin@rot13.org', "email");
141 dpavlin 44
142 dpavlin 62 cmp_ok($arr->[1]->{'email'}, '==', 'nobody@example.com', "email");
143    
144     # DeleteMember
145    
146     ok($soap->DeleteMemberFromList({
147     list => $list_name,
148     email => $arr->[0]->{'email'},
149     })->result, "DeleteMemberFromList ".$arr->[0]->{'email'});
150    
151    
152     ok($arr = $soap->ListMembers({
153     list => $list_name,
154     })->result, "ListMembers named");
155    
156     cmp_ok($#{$arr}, '==', 0, "member deleted");
157    
158 dpavlin 63 # DeleteList
159    
160     ok($soap->DeleteList({
161     list => $list_name,
162     })->result, "DeleteList named");
163    
164     ok(my $has_members = $soap->ListMembers({
165     list => $list_name,
166     })->result, "ListMembers for $list_name");
167    
168     cmp_ok($#{$has_members}, '==', -1, "ok, no members");
169    
170     ok($list_id = $soap->NewList({
171     list => $list_name,
172     from => 'SOAP list',
173     email => 'soap-test@example.com',
174     })->result, "NewList $list_name (recreated)");
175    
176     ok($soap->DeleteList(
177     $list_name,
178     )->result, "DeleteList positional");
179    
180     ok($has_members = $soap->ListMembers({
181     list => $list_name,
182     })->result, "ListMembers for $list_name");
183    
184     cmp_ok($#{$has_members}, '==', -1, "ok, no members");
185    
186 dpavlin 41 # kill server
187    
188 dpavlin 40 ok(kill('HUP' => $pid), "kill $pid");
189 dpavlin 39
190 dpavlin 40 ok(waitpid($pid,0), "waitpid");
191 dpavlin 39
192     ok(! kill(0, $pid), "child dead");
193    
194     exit 1;
195 dpavlin 67

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26