HTTP status server tests: Make sure JSON responses actually decode
This commit is contained in:
parent
77456779aa
commit
98baac306a
|
|
@ -6,7 +6,7 @@
|
|||
use Test;
|
||||
|
||||
BEGIN {
|
||||
plan tests => (!defined $ENV{'TEST_PRODUCT'} || $ENV{'TEST_PRODUCT'} =~ /aprsc/) ? 2 + 6 + 1 : 0;
|
||||
plan tests => (!defined $ENV{'TEST_PRODUCT'} || $ENV{'TEST_PRODUCT'} =~ /aprsc/) ? 2 + 10 + 1 : 0;
|
||||
};
|
||||
|
||||
if (defined $ENV{'TEST_PRODUCT'} && $ENV{'TEST_PRODUCT'} !~ /aprsc/) {
|
||||
|
|
@ -17,6 +17,18 @@ use runproduct;
|
|||
use LWP;
|
||||
use LWP::UserAgent;
|
||||
use HTTP::Request::Common;
|
||||
use JSON::XS;
|
||||
|
||||
# set up the JSON module
|
||||
my $json = new JSON::XS;
|
||||
|
||||
if (!$json) {
|
||||
die "JSON loading failed";
|
||||
}
|
||||
|
||||
$json->latin1(0);
|
||||
$json->ascii(1);
|
||||
$json->utf8(0);
|
||||
|
||||
my $p = new runproduct('basic');
|
||||
|
||||
|
|
@ -35,7 +47,7 @@ $ua->agent(
|
|||
|
||||
# test ###########################
|
||||
|
||||
my($req, $res);
|
||||
my($req, $res, $j);
|
||||
|
||||
# transfer-encodings that the client cant decode (compression)
|
||||
my $can_accept = HTTP::Message::decodable;
|
||||
|
|
@ -52,19 +64,27 @@ ok($res->code, 200, "HTTP GET (compressed) of status server front page returned
|
|||
$req = HTTP::Request::Common::GET("http://127.0.0.1:55501/status.json");
|
||||
$res = $ua->simple_request($req);
|
||||
ok($res->code, 200, "HTTP GET of status server status.json returned wrong response code, message: " . $res->message);
|
||||
$j = $json->decode($res->decoded_content(charset => 'none'));
|
||||
ok(defined $j, 1, "JSON decoding of status.json failed");
|
||||
|
||||
$req->header('Accept-Encoding', $can_accept);
|
||||
$res = $ua->simple_request($req);
|
||||
ok($res->code, 200, "HTTP GET (compressed) of status server status.json returned wrong response code, message: " . $res->message);
|
||||
$j = $json->decode($res->decoded_content(charset => 'none'));
|
||||
ok(defined $j, 1, "JSON decoding of (compressed) status.json failed");
|
||||
|
||||
|
||||
$req = HTTP::Request::Common::GET("http://127.0.0.1:55501/counterdata?totals.tcp_bytes_rx");
|
||||
$res = $ua->simple_request($req);
|
||||
ok($res->code, 200, "HTTP GET of status server /counterdata?totals.tcp_bytes_rx returned wrong response code, message: " . $res->message);
|
||||
$j = $json->decode($res->decoded_content(charset => 'none'));
|
||||
ok(defined $j, 1, "JSON decoding of /counterdata?totals.tcp_bytes_rx failed");
|
||||
|
||||
$req->header('Accept-Encoding', $can_accept);
|
||||
$res = $ua->simple_request($req);
|
||||
ok($res->code, 200, "HTTP GET (compressed) of status server /counterdata?totals.tcp_bytes_rx returned wrong response code, message: " . $res->message);
|
||||
$j = $json->decode($res->decoded_content(charset => 'none'));
|
||||
ok(defined $j, 1, "JSON decoding of (compressed) /counterdata?totals.tcp_bytes_rx failed");
|
||||
|
||||
|
||||
# stop
|
||||
|
|
|
|||
Loading…
Reference in New Issue