#!/usr/bin/env perl
RT: {
SKIP: {
eval
'use WWW::RT::CPAN'
;
if
($@) {
diag(
'WWW::RT::CPAN required to check for open tickets'
);
skip(
'WWW::RT::CPAN required to check for open tickets'
, 3);
}
elsif
(
my
@rc
= @{WWW::RT::CPAN::list_dist_active_tickets(
dist
=>
'FCGI-Buffer'
)}) {
cmp_ok(
$rc
[0],
'=='
, 200);
cmp_ok(
$rc
[1],
'eq'
,
'OK'
);
my
@tickets
=
$rc
[2] ? @{
$rc
[2]} : ();
foreach
my
$ticket
(
@tickets
) {
diag(
$ticket
->{id},
': '
,
$ticket
->{title},
', broken since '
,
$ticket
->{
'broken_in'
}[0]);
}
ok(
scalar
(
@tickets
) == 0);
}
else
{
diag(
"Can't connect to rt.cpan.org"
);
skip(
"Can't connect to rt.cpan.org"
, 3);
}
}
}
GITHUB: {
SKIP: {
eval
'use JSON::MaybeXS'
;
if
($@) {
diag(
'JSON::MaybeXS required to check for open tickets'
);
skip(
'JSON::MaybeXS required to check for open tickets'
, 1);
}
else
{
eval
'use IO::Socket::INET'
;
if
($@) {
diag(
'IO::Socket::INET required to check for open tickets'
);
skip(
'IO::Socket::INET required to check for open tickets'
, 1);
}
else
{
my
$s
= IO::Socket::INET->new(
PeerAddr
=> SITE,
PeerPort
=>
'http(80)'
,
Timeout
=> 5
);
if
(
$s
) {
eval
'use LWP::Simple'
;
if
($@) {
diag(
'LWP::Simple required to check for open tickets'
);
skip(
'LWP::Simple required to check for open tickets'
, 1);
}
elsif
(
my
$data
= LWP::Simple::get(URL)) {
my
$json
= JSON::MaybeXS->new()->utf8();
my
@issues
= @{
$json
->decode(
$data
)};
if
(
$ENV
{
'TEST_VERBOSE'
}) {
foreach
my
$issue
(
@issues
) {
diag(
$issue
->{
'html_url'
});
}
}
cmp_ok(
scalar
(
@issues
),
'=='
, 0,
'There are no opentickets'
);
}
else
{
diag(URL,
': failed to get data - ignoring'
);
skip(URL .
': failed to get data - ignoring'
, 1);
}
}
else
{
diag(
"Can't connect to "
, SITE,
": $IO::Socket::errstr"
);
skip(
"Can't connect to "
. SITE .
": $IO::Socket::errstr"
, 1);
}
}
}
}
}