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

Contents of /trunk/t/2_soap.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 67 - (show annotations)
Fri Jul 8 17:00:20 2005 UTC (18 years, 9 months ago) by dpavlin
File MIME type: application/x-troff
File size: 3919 byte(s)
more fixes for SOAP, still not working

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

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26