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

Diff of /trunk/t/2_soap.t

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 40 by dpavlin, Tue May 17 22:27:09 2005 UTC revision 66 by dpavlin, Fri Jul 8 11:46:35 2005 UTC
# Line 3  Line 3 
3  use strict;  use strict;
4  use blib;  use blib;
5    
6  use Test::More tests => 11;  use Test::More tests => 36;
7    
8  BEGIN {  BEGIN {
9          use_ok('Nos');          use_ok('Nos');
# Line 11  BEGIN { Line 11  BEGIN {
11          use_ok('SOAP::Lite');          use_ok('SOAP::Lite');
12  };  };
13    
14  ok(my $nos = new Nos::SOAP('dsn' => 'dbi:Pg:dbname=notices'), "new");  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");  ok(my $daemon = new SOAP::Transport::HTTP::Daemon(LocalAddr => 'localhost')->dispatch_to('Nos::SOAP'), "SOAP daemon");
22    
 my $pid;  
23    
24    # start server
25    
26    my $pid;
27  unless ($pid = fork) {  unless ($pid = fork) {
28    
29          local $SIG{HUP} = sub {          local $SIG{HUP} = sub {
# Line 36  my $soap = SOAP::Lite Line 43  my $soap = SOAP::Lite
43          ->uri('http://localhost/Nos/SOAP/')          ->uri('http://localhost/Nos/SOAP/')
44          ->proxy($daemon->url);          ->proxy($daemon->url);
45    
46    # NewList
47    
48  ok(my $list_id = $soap->NewList({  ok(my $list_id = $soap->NewList({
49          list => 'SOAP test',          list => $list_name,
50            from => 'SOAP list',
51          email => 'soap-test@example.com',          email => 'soap-test@example.com',
52  })->result, "NewList");  })->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  diag "list_id: $list_id";  cmp_ok($list_id, '==', $list_id2, "list_id $list_id");
61    
62    
63    # AddMemberToList
64    
65  ok(my $member_id = $soap->AddMemberToList({  ok(my $member_id = $soap->AddMemberToList({
66          list => 'SOAP test',          list => $list_name,
67          email => 'dpavlin@rot13.org',          email => 'dpavlin@rot13.org',
68          name => 'Dobrica Pavlinusic',          name => 'Dobrica Pavlinusic',
69  })->result, "AddMemberToList");          ext_id => 42,
70    })->result, "AddMemberToList named");
71    
72  diag "member_id: $member_id";  ok(my $member_id2 = $soap->AddMemberToList(
73            $list_name,
74            'dpavlin@rot13.org',
75            'Dobrica Pavlinusic',
76            42,
77    )->result, "AddMemberToList positional");
78    
79  ok(my $message_id = $soap->AddMessageToList({  cmp_ok($member_id, '==', $member_id2, "member_id: $member_id");
80          list => 'SOAP test',  
81          message => 'To: member@example.com  
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  From: mylist@example.com
98  Subject: text  Subject: text
99    
100  This is a dummy test  This is a dummy test
101  ',  ';
102  })->result, "AddMessageToList");  
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  diag "message_id: $message_id";  # kill server
178    
179  ok(kill('HUP' => $pid), "kill $pid");  ok(kill('HUP' => $pid), "kill $pid");
180    

Legend:
Removed from v.40  
changed lines
  Added in v.66

  ViewVC Help
Powered by ViewVC 1.1.26