root/branches/release-41/t/26-pings.t @ 2697

Revision 2697, 2.9 kB (checked in by bchoate, 17 months ago)

Stubbing ping tests.

  • Property svn:mime-type set to text/plain
  • Property svn:keywords set to Author Date Id Revision
Line 
1#!/usr/bin/perl
2# $Id$
3use strict;
4use warnings;
5
6use lib 't/lib';
7use lib 't/extlib';
8use lib 'lib';
9
10use Test::More;
11
12# plan tests => 14;
13plan skip_all => "Needs rewrite to eliminate HTTP server requirement.";
14exit;
15
16use HTTP::Response;
17use Net::Ping;
18
19use MT;
20use MT::XMLRPC;
21use vars qw( $DB_DIR $T_CFG );
22
23use MT::Test;
24MT::Test->import( qw(:db :data) );
25
26my $mt = MT->new( Config => $T_CFG ) or die MT->errstr;
27isa_ok($mt, 'MT');
28
29my $blog = MT::Blog->load(1);
30isa_ok($blog, 'MT::Blog');
31
32_set_response(<<RES);
33    <<RES;
34<?xml version='1.0'?>
35<methodResponse>
36<params>
37<param>
38<value><struct>
39<member>
40<name>flerror</name>
41<value><boolean>0</boolean></value>
42</member>
43<member>
44<name>message</name>
45<value><string>Chomp! Thanks for the ping.</string></value>
46</member>
47</struct></value>
48</param>
49</params>
50</methodResponse>
51RES
52
53for (my $i = 1; $i < 7; $i++) {
54    SKIP: { skip('what?', 1); }
55}
56
57my $server = "192.168.1.104";
58my $p = Net::Ping->new();
59SKIP: {
60    skip("Test update server $server is unreachable", 5)
61        unless $p->ping($server);
62    ok(1, "ping");
63
64{
65my $res = MT::XMLRPC->ping_update('foo.ping', $blog,
66                                  'http://' . $server . '/mt-test-rpc.cgi');
67ok($res, 'ping_update');
68
69_set_response(<<RES);
70    <<RES;
71<?xml version='1.0'?>
72<methodResponse>
73<params>
74<param>
75<value><struct>
76<member>
77<name>flerror</name>
78<value><boolean>1</boolean></value>
79</member>
80<member>
81<name>message</name>
82<value>Sorry, but your ping failed!</value>
83</member>
84</struct></value>
85</param>
86</params>
87</methodResponse>
88RES
89}
90
91{
92my $res = MT::XMLRPC->ping_update('foo.ping', $blog, 'http://' . $server . '/mt-test-rpc.cgi');
93ok(!$res);
94ok(MT::XMLRPC->errstr, "Ping error: Sorry, but your ping failed!\n");
95
96_set_response(<<RES);
97    <<RES;
98<?xml version='1.0'?>
99<methodResponse>
100<params>
101<param>
102<value><struct>
103<member>
104<name>message</name>
105<value><string>Chomp! Thanks for the ping.</string></value>
106</member>
107<member>
108<name>flerror</name>
109<value><boolean>0</boolean></value>
110</member>
111</struct></value>
112</param>
113</params>
114</methodResponse>
115RES
116}
117
118{
119my $res = MT::XMLRPC->ping_update('foo.ping', $blog,
120                                  'http://' . $server . '/mt-test-rpc.cgi');
121ok($res, 'response');
122
123_set_response(<<RES);
124    <<RES;
125<?xml version='1.0'?>
126<methodResponse>
127<params>
128<param>
129<value><struct>
130<member>
131<name>message</name>
132<value>Sorry, but your ping failed!</value>
133</member>
134<member>
135<name>flerror</name>
136<value><boolean>1</boolean></value>
137</member>
138</struct></value>
139</param>
140</params>
141</methodResponse>
142RES
143}
144{
145MT::XMLRPC->error('');
146my $res = MT::XMLRPC->ping_update('foo.ping', $blog,
147                                  'http://'. $server. '/mt-test-rpc.cgi');
148ok(!$res, 'no response');
149is(MT::XMLRPC->errstr, "Ping error: Sorry, but your ping failed!\n", 'errstr');
150}
151}
152
153sub _set_response {
154    my($str) = @_;
155    no warnings 'once';
156    *HTTP::Response::content = sub { $str };
157}
Note: See TracBrowser for help on using the browser.