Pithub
view release on metacpan or search on metacpan
t/live/repos.t view on Meta::CPAN
#!perl
use strict;
use warnings;
use Pithub ();
use Test::Differences qw( eq_or_diff );
use Test::More import => [qw( done_testing is isnt like ok skip subtest )];
use lib 't/lib';
use Pithub::Test::Factory ();
# These tests may break very easily because data on Github can and will change, of course.
# And they also might fail once the ratelimit has been reached.
SKIP: {
skip 'Set PITHUB_TEST_LIVE_DATA to true to run these tests', 1
unless $ENV{PITHUB_TEST_LIVE_DATA};
my $p = Pithub->new;
# Pithub::Repos->branches
{
my $result = $p->repos->branches( user => 'plu', repo => 'Pithub' );
is $result->success, 1, 'Pithub::Repos->branches successful';
ok $result->count > 0, 'Pithub::Repos->branches has some rows';
ok $result->content->[0]{name};
like $result->content->[0]{commit}{sha}, qr{^[a-f0-9]+$};
}
# Pithub::Repos->contributors
{
my $result
= $p->repos->contributors( user => 'plu', repo => 'Pithub' );
is $result->success, 1, 'Pithub::Repos->contributors successful';
is $result->content->[0]{login}, 'plu',
'Pithub::Repos->contributors: Attribute login'
}
# Pithub::Repos->get
{
my $result = $p->repos->get( user => 'plu', repo => 'Pithub' );
is $result->success, 1, 'Pithub::Repos->get successful';
is $result->content->{name}, 'Pithub',
'Pithub::Repos->get: Attribute name';
is $result->content->{owner}{login}, 'plu',
'Pithub::Repos->get: Attribute owner.login';
}
subtest 'Pithub::Repos->branch' => sub {
my $result = $p->repos->branch(
user => 'plu',
repo => 'Pithub',
branch => 'master'
);
ok $result->success;
is $result->content->{name}, 'master';
like $result->content->{commit}{sha}, qr{^[a-f0-9]+$};
};
# Pithub::Repos->languages
{
my $result = $p->repos->languages( user => 'plu', repo => 'Pithub' );
is $result->success, 1, 'Pithub::Repos->languages successful';
like $result->content->{Perl}, qr{^\d+$},
'Pithub::Repos->languages: Attribute Perl';
}
( run in 0.762 second using v1.01-cache-2.11-cpan-39bf76dae61 )