Pithub

 view release on metacpan or  search on metacpan

t/live/basic.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 like ok skip $TODO )];

SKIP: {
    skip 'Set PITHUB_TEST_LIVE to true to run these tests', 1
        unless $ENV{PITHUB_TEST_LIVE};

    my $p      = Pithub->new;
    my $result = $p->request(
        method => 'GET',
        path   => '/'
    );

    is $result->code,    200, 'HTTP status is 200';
    is $result->success, 1,   'Successful';

    {
        local $TODO = 'Not sure why this is failing';
        like $result->etag, qr{^"[a-f0-9]+"$}, 'ETag';
    }

    my $base_url = 'https://api.github.com';
    eq_or_diff(
        $result->content,
        {
            authorizations_url => "$base_url/authorizations",
            code_search_url    =>
                "$base_url/search/code?q={query}{&page,per_page,sort,order}",
            commit_search_url =>
                "$base_url/search/commits?q={query}{&page,per_page,sort,order}",
            current_user_authorizations_html_url =>
                'https://github.com/settings/connections/applications{/client_id}',
            current_user_repositories_url =>
                "$base_url/user/repos{?type,page,per_page,sort}",
            current_user_url => "$base_url/user",
            emails_url       => "$base_url/user/emails",
            emojis_url       => "$base_url/emojis",
            events_url       => "$base_url/events",
            feeds_url        => "$base_url/feeds",
            followers_url    => "$base_url/user/followers",
            following_url    => "$base_url/user/following{/target}",
            gists_url        => "$base_url/gists{/gist_id}",
            hub_url          => "$base_url/hub",
            issue_search_url =>
                "$base_url/search/issues?q={query}{&page,per_page,sort,order}",
            issues_url       => "$base_url/issues",
            keys_url         => "$base_url/user/keys",
            label_search_url =>
                "$base_url/search/labels?q={query}&repository_id={repository_id}{&page,per_page}",
            notifications_url             => "$base_url/notifications",
            organization_repositories_url =>
                "$base_url/orgs/{org}/repos{?type,page,per_page,sort}",
            organization_teams_url => "$base_url/orgs/{org}/teams",
            organization_url       => "$base_url/orgs/{org}",
            public_gists_url       => "$base_url/gists/public",
            rate_limit_url         => "$base_url/rate_limit",
            repository_search_url  =>
                "$base_url/search/repositories?q={query}{&page,per_page,sort,order}",
            repository_url    => "$base_url/repos/{owner}/{repo}",
            starred_gists_url => "$base_url/gists/starred",
            starred_url       => "$base_url/user/starred{/owner}{/repo}",



( run in 1.771 second using v1.01-cache-2.11-cpan-39bf76dae61 )