github.com/mackerelio/mackerel-agent-plugins@v0.89.3/t/plugins.t (about)

     1  use strict;
     2  use warnings;
     3  use Test::More;
     4  
     5  use JSON::PP qw/decode_json/;
     6  
     7  my $config = decode_json do {
     8      local $/;
     9      open my $fh, '<', 'packaging/config.json' or die $!;
    10      <$fh>
    11  };
    12  ok $config->{description};
    13  
    14  my $plugins_to_be_packaged = $config->{plugins};
    15  isa_ok $plugins_to_be_packaged, 'ARRAY';
    16  
    17  my %plugins = map {s/^mackerel-plugin-//; ($_ => 1)} <mackerel-plugin-*>;
    18  for my $plug (@$plugins_to_be_packaged) {
    19      ok $plugins{$plug}, "$plug ok";
    20  }
    21  
    22  my $external_plugins_to_be_packaged = $config->{'external-plugins'};
    23  isa_ok $external_plugins_to_be_packaged, 'ARRAY';
    24  
    25  for my $plug (@$external_plugins_to_be_packaged) {
    26      ok $plug->{name}, "name ok";
    27      my $name = $plug->{name};
    28      like $plug->{repository}, qr|^github[.]com/mackerelio/|, "$name repository ok";
    29  }
    30  
    31  done_testing;