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;