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 )