root/branches/release-39/t/26-pings.t @ 2548

Revision 2548, 2.8 kB (checked in by bchoate, 18 months ago)

Updates to iterator handling and use of 'window_size' argument for load_iter method of MT::Object. BugId:79247

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