Dist-Zilla-PluginBundle-Codeberg
view release on metacpan or search on metacpan
t/tests/dist/zilla/plugin/codeberg/meta.t view on Meta::CPAN
use Modern::Perl;
use Test2::V1 -ipP;
use Test2::Tools::Compare qw/hash array bag item match end/;
use Test2::Tools::Explain;
use FindBin;
use lib "$FindBin::Bin/../lib";
use Path::Tiny;
use Test::DZil;
use Dist::Zilla::Plugin::Codeberg;
my $mock_dist_zilla_plugin_codeberg
= mock 'Dist::Zilla::Plugin::Codeberg' => (
override => [
_build_credentials =>
sub { return { login => 'bob', token => 'AbC00ToKeN' } },
_get_repo_name => sub { return 'bob/DZT-Sample' },
],
);
my @http_responses;
use HTTP::Tiny;
my $mock_http_tiny = mock 'HTTP::Tiny' => (
override => [
request => sub {
shift;
return shift(@http_responses) // { success => 1, content => '{}' };
}
]
);
my $repo_response
= '{'
. '"html_url":"https://codeberg.org/bob/DZT-Sample",'
. '"ssh_url":"git@codeberg.org:bob/DZT-Sample.git",'
. '"has_issues":true' . '}';
my @tests = (
{
test_name =>
'default config fetches repo info and sets metacpan homepage',
config => {},
responses => [ { success => 1, content => $repo_response } ],
expect => {
resources => {
repository => {
web => 'https://codeberg.org/bob/DZT-Sample',
url => 'git@codeberg.org:bob/DZT-Sample.git',
type => 'git',
},
homepage => 'https://metacpan.org/release/DZT-Sample/',
bugtracker =>
{ web => 'https://codeberg.org/bob/DZT-Sample/issues' },
},
},
log_messages => ['[Codeberg::Meta] Getting Codeberg repository info'],
},
{
test_name =>
'bugs disabled skips bugtracker even when issues are enabled',
config => { bugs => 0 },
responses => [ { success => 1, content => $repo_response } ],
expect => {
resources => {
repository => {
web => 'https://codeberg.org/bob/DZT-Sample',
url => 'git@codeberg.org:bob/DZT-Sample.git',
type => 'git',
},
homepage => 'https://metacpan.org/release/DZT-Sample/',
},
},
log_messages => ['[Codeberg::Meta] Getting Codeberg repository info'],
},
( run in 1.458 second using v1.01-cache-2.11-cpan-007c89162af )