diff --git a/tests/t/66http-status.t b/tests/t/66http-status.t new file mode 100644 index 0000000..5911f31 --- /dev/null +++ b/tests/t/66http-status.t @@ -0,0 +1,55 @@ + +# +# Test HTTP status service, only on aprsc +# + +use Test; + +BEGIN { + plan tests => (!defined $ENV{'TEST_PRODUCT'} || $ENV{'TEST_PRODUCT'} =~ /aprsc/) ? 2 + 3 + 1 : 0; +}; + +if (defined $ENV{'TEST_PRODUCT'} && $ENV{'TEST_PRODUCT'} !~ /aprsc/) { + exit(0); +} + +use runproduct; +use LWP; +use LWP::UserAgent; +use HTTP::Request::Common; + +my $p = new runproduct('basic'); + +ok(defined $p, 1, "Failed to initialize product runner"); +ok($p->start(), 1, "Failed to start product"); + +# set up http client ############ + +my $ua = LWP::UserAgent->new; + +$ua->agent( + agent => "httpaprstester/1.0", + timeout => 10, + max_redirect => 0, +); + +# test ########################### + +my($req, $res); + +$req = HTTP::Request::Common::GET("http://127.0.0.1:55501/"); +$res = $ua->simple_request($req); +ok($res->code, 200, "HTTP GET of status server front page returned wrong response code, message: " . $res->message); + +$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); + +$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); + +# stop + +ok($p->stop(), 1, "Failed to stop product"); +