/[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 66 - (hide annotations)
Fri Jul 8 11:46:35 2005 UTC (18 years, 8 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 dpavlin 39 #!/usr/bin/perl -w
2    
3     use strict;
4     use blib;
5    
6 dpavlin 63 use Test::More tests => 36;
7 dpavlin 39
8     BEGIN {
9     use_ok('Nos');
10     use_ok('SOAP::Transport::HTTP');
11     use_ok('SOAP::Lite');
12     };
13    
14 dpavlin 62 my $list_name = 'SOAP test';
15    
16 dpavlin 66 ok(my $nos = new Nos::SOAP(
17     'dsn' => 'dbi:Pg:dbname=notices',
18     'aliases' => './t/aliases',
19     ), "new");
20 dpavlin 39
21     ok(my $daemon = new SOAP::Transport::HTTP::Daemon(LocalAddr => 'localhost')->dispatch_to('Nos::SOAP'), "SOAP daemon");
22    
23 dpavlin 41
24     # start server
25    
26 dpavlin 39 my $pid;
27 dpavlin 40 unless ($pid = fork) {
28 dpavlin 39
29 dpavlin 40 local $SIG{HUP} = sub {
30     diag "exiting SOAP server";
31     exit 0;
32     };
33    
34 dpavlin 39 diag "SOAP server at ", $daemon->url;
35     $daemon->handle;
36 dpavlin 40
37 dpavlin 39 }
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 dpavlin 41 # NewList
47    
48 dpavlin 39 ok(my $list_id = $soap->NewList({
49 dpavlin 62 list => $list_name,
50 dpavlin 56 from => 'SOAP list',
51 dpavlin 39 email => 'soap-test@example.com',
52 dpavlin 41 })->result, "NewList named");
53 dpavlin 39
54 dpavlin 41 ok(my $list_id2 = $soap->NewList(
55 dpavlin 62 $list_name,
56     'SOAP test list',
57 dpavlin 41 'soap-test@example.com',
58     )->result, "NewList positional");
59 dpavlin 39
60 dpavlin 41 cmp_ok($list_id, '==', $list_id2, "list_id $list_id");
61    
62    
63     # AddMemberToList
64    
65 dpavlin 39 ok(my $member_id = $soap->AddMemberToList({
66 dpavlin 62 list => $list_name,
67 dpavlin 39 email => 'dpavlin@rot13.org',
68     name => 'Dobrica Pavlinusic',
69 dpavlin 58 ext_id => 42,
70 dpavlin 41 })->result, "AddMemberToList named");
71 dpavlin 39
72 dpavlin 41 ok(my $member_id2 = $soap->AddMemberToList(
73 dpavlin 62 $list_name,
74 dpavlin 41 'dpavlin@rot13.org',
75     'Dobrica Pavlinusic',
76 dpavlin 58 42,
77 dpavlin 41 )->result, "AddMemberToList positional");
78 dpavlin 39
79 dpavlin 41 cmp_ok($member_id, '==', $member_id2, "member_id: $member_id");
80    
81    
82 dpavlin 62 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 dpavlin 41 # AddMessageToList
95    
96     my $msg = 'To: member@example.com
97 dpavlin 39 From: mylist@example.com
98     Subject: text
99    
100     This is a dummy test
101 dpavlin 41 ';
102 dpavlin 39
103 dpavlin 41 ok(my $message_id = $soap->AddMessageToList({
104 dpavlin 62 list => $list_name,
105 dpavlin 41 message => $msg,
106     })->result, "AddMessageToList named");
107 dpavlin 39
108 dpavlin 41 ok(my $message_id2 = $soap->AddMessageToList(
109 dpavlin 62 $list_name,
110 dpavlin 41 $msg,
111     )->result, "AddMessageToList positional");
112    
113     cmp_ok($message_id, '==', $message_id2, "message_id: $message_id");
114    
115    
116 dpavlin 43 # ListMembers
117    
118 dpavlin 62 ok(my $arr = $soap->ListMembers({
119     list => $list_name,
120 dpavlin 43 })->result, "ListMembers named");
121    
122 dpavlin 62 ok(my $arr2 = $soap->ListMembers(
123     $list_name,
124 dpavlin 43 )->result, "ListMembers positional");
125    
126 dpavlin 62 eq_array($arr, $arr2, "members lists same");
127 dpavlin 43
128 dpavlin 62 cmp_ok($#{$arr}, '==', 1, "member count ok");
129 dpavlin 44
130 dpavlin 62 cmp_ok($arr->[0]->{'full_name'}, '==', 'Dobrica Pavlinusic', "full_name");
131     cmp_ok($arr->[0]->{'email'}, '==', 'dpavlin@rot13.org', "email");
132 dpavlin 44
133 dpavlin 62 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 dpavlin 63 # 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 dpavlin 41 # kill server
178    
179 dpavlin 40 ok(kill('HUP' => $pid), "kill $pid");
180 dpavlin 39
181 dpavlin 40 ok(waitpid($pid,0), "waitpid");
182 dpavlin 39
183     ok(! kill(0, $pid), "child dead");
184    
185     exit 1;

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26