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

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26