Footprintless
view release on metacpan or search on metacpan
t/Footprintless_App_Command_config.t view on Meta::CPAN
use strict;
use warnings;
use lib 't/lib';
use App::Cmd::Tester;
use Data::Dumper;
use Footprintless;
use File::Basename;
use File::Spec;
use Test::More tests => 4;
BEGIN { use_ok('Footprintless::App') }
eval {
require Getopt::Long;
Getopt::Long::Configure( 'pass_through', 'bundling' );
my $level = 'error';
Getopt::Long::GetOptions( 'log:s' => \$level );
require Log::Any::Adapter;
Log::Any::Adapter->set(
'+Footprintless::Test::Log::Any::Adapter::Handle',
handle => \*STDOUT,
log_level => Log::Any::Adapter::Util::numeric_level($level)
);
};
my $logger = Log::Any->get_logger();
$logger->trace("All logging sent to stderr to avoid conflict with output");
my $test_dir = dirname( File::Spec->rel2abs($0) );
$ENV{FPL_CONFIG_DIRS} = File::Spec->catdir( $test_dir, 'config', 'entities' );
$ENV{FPL_CONFIG_PROPS} =
File::Spec->catfile( $test_dir, 'config', 'properties.pl' )
. ( ( $^O eq 'MSWin32' ) ? ';' : ':' )
. File::Spec->catfile( $test_dir, 'config', 'environment.pl' );
is( test_app( 'Footprintless::App' => [ 'config', 'dev.foo.site', '--format', 'dumper0' ] )
->stdout(),
"\$VAR1 = '';",
'dev.foo.site empty string'
);
is( test_app( 'Footprintless::App' => [ 'config', 'dev.foo.overlay.os', '--format', 'dumper0' ] )
->stdout(),
"\$VAR1 = 'linux';",
'dev.foo.overlay.os = linux'
);
is( test_app( 'Footprintless::App' => [ 'config', 'dev.foo.logs', '--format', 'json2' ] )
->stdout(),
'{"catalina":"/opt/pastdev/foo-tomcat/logs/catalina.out"}',
'json dev.piab = {...}'
);
( run in 0.965 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )