/[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 67 - (hide 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 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 dpavlin 67 use_ok('Cwd');
13 dpavlin 39 };
14    
15 dpavlin 62 my $list_name = 'SOAP test';
16    
17 dpavlin 67 my $aliases = Cwd::abs_path($0);
18     $aliases =~ s#/[^/]*$#/#;
19     $aliases .= 'aliases';
20    
21     ok($aliases, "using aliases file $aliases");
22    
23 dpavlin 66 ok(my $nos = new Nos::SOAP(
24     'dsn' => 'dbi:Pg:dbname=notices',
25 dpavlin 67 'aliases' => $aliases,
26 dpavlin 66 ), "new");
27 dpavlin 39
28     ok(my $daemon = new SOAP::Transport::HTTP::Daemon(LocalAddr => 'localhost')->dispatch_to('Nos::SOAP'), "SOAP daemon");
29    
30 dpavlin 41 # start server
31    
32 dpavlin 39 my $pid;
33 dpavlin 40 unless ($pid = fork) {
34 dpavlin 39
35 dpavlin 40 local $SIG{HUP} = sub {
36     diag "exiting SOAP server";
37     exit 0;
38     };
39    
40 dpavlin 39 diag "SOAP server at ", $daemon->url;
41     $daemon->handle;
42 dpavlin 40
43 dpavlin 39 }
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 dpavlin 41 # NewList
53    
54 dpavlin 39 ok(my $list_id = $soap->NewList({
55 dpavlin 67 list => $list_name,
56     from => 'SOAP list',
57     email => 'soap-test@example.com',
58 dpavlin 41 })->result, "NewList named");
59 dpavlin 39
60 dpavlin 41 ok(my $list_id2 = $soap->NewList(
61 dpavlin 62 $list_name,
62     'SOAP test list',
63 dpavlin 41 'soap-test@example.com',
64     )->result, "NewList positional");
65 dpavlin 39
66 dpavlin 41 cmp_ok($list_id, '==', $list_id2, "list_id $list_id");
67    
68    
69     # AddMemberToList
70    
71 dpavlin 39 ok(my $member_id = $soap->AddMemberToList({
72 dpavlin 62 list => $list_name,
73 dpavlin 39 email => 'dpavlin@rot13.org',
74     name => 'Dobrica Pavlinusic',
75 dpavlin 58 ext_id => 42,
76 dpavlin 41 })->result, "AddMemberToList named");
77 dpavlin 39
78 dpavlin 41 ok(my $member_id2 = $soap->AddMemberToList(
79 dpavlin 62 $list_name,
80 dpavlin 41 'dpavlin@rot13.org',
81     'Dobrica Pavlinusic',
82 dpavlin 58 42,
83 dpavlin 41 )->result, "AddMemberToList positional");
84 dpavlin 39
85 dpavlin 41 cmp_ok($member_id, '==', $member_id2, "member_id: $member_id");
86    
87    
88 dpavlin 62 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 dpavlin 41 # AddMessageToList
101    
102     my $msg = 'To: member@example.com
103 dpavlin 39 From: mylist@example.com
104     Subject: text
105    
106     This is a dummy test
107 dpavlin 41 ';
108 dpavlin 39
109 dpavlin 41 ok(my $message_id = $soap->AddMessageToList({
110 dpavlin 62 list => $list_name,
111 dpavlin 41 message => $msg,
112     })->result, "AddMessageToList named");
113 dpavlin 39
114 dpavlin 41 ok(my $message_id2 = $soap->AddMessageToList(
115 dpavlin 62 $list_name,
116 dpavlin 41 $msg,
117     )->result, "AddMessageToList positional");
118    
119     cmp_ok($message_id, '==', $message_id2, "message_id: $message_id");
120    
121    
122 dpavlin 43 # ListMembers
123    
124 dpavlin 62 ok(my $arr = $soap->ListMembers({
125     list => $list_name,
126 dpavlin 43 })->result, "ListMembers named");
127    
128 dpavlin 62 ok(my $arr2 = $soap->ListMembers(
129     $list_name,
130 dpavlin 43 )->result, "ListMembers positional");
131    
132 dpavlin 62 eq_array($arr, $arr2, "members lists same");
133 dpavlin 43
134 dpavlin 62 cmp_ok($#{$arr}, '==', 1, "member count ok");
135 dpavlin 44
136 dpavlin 62 cmp_ok($arr->[0]->{'full_name'}, '==', 'Dobrica Pavlinusic', "full_name");
137     cmp_ok($arr->[0]->{'email'}, '==', 'dpavlin@rot13.org', "email");
138 dpavlin 44
139 dpavlin 62 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 dpavlin 63 # 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 dpavlin 41 # kill server
184    
185 dpavlin 40 ok(kill('HUP' => $pid), "kill $pid");
186 dpavlin 39
187 dpavlin 40 ok(waitpid($pid,0), "waitpid");
188 dpavlin 39
189     ok(! kill(0, $pid), "child dead");
190    
191     exit 1;
192 dpavlin 67

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26