AWS-CLI-Config
view release on metacpan or search on metacpan
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to humanity, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
To do so, attach the following notices to the program. It is safest to
attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
"runtime" : {
"requires" : {
"Carp" : "0",
"File::Spec" : "0",
"autodie" : "0",
"perl" : "5.008001",
"strict" : "0",
"warnings" : "0"
}
},
"test" : {
"requires" : {
"File::Temp" : "0",
"Test::More" : "0.98",
"perl" : "5.008001"
}
}
},
"provides" : {
"AWS::CLI::Config" : {
"file" : "lib/AWS/CLI/Config.pm",
Makefile.PL view on Meta::CPAN
"File::Spec" => 0,
"autodie" => 0,
"strict" => 0,
"warnings" => 0
},
"TEST_REQUIRES" => {
"File::Temp" => 0,
"Test::More" => "0.98"
},
"VERSION" => "0.05",
"test" => {
"TESTS" => "t/*.t"
}
);
my %FallbackPrereqs = (
"Carp" => 0,
"File::Spec" => 0,
"File::Temp" => 0,
"Test::More" => "0.98",
requires 'perl', '5.008001';
on configure => sub {
requires 'Module::Build::Tiny', '0.035';
};
on test => sub {
requires 'File::Temp';
requires 'Test::More', '0.98';
};
t/00_compile.t view on Meta::CPAN
use strict;
use Test::More 0.98;
use_ok 'AWS::CLI::Config';
done_testing;
t/01__base_dir.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use AWS::CLI::Config;
subtest 'Windows' => sub {
local $^O = 'MSWin32';
local $ENV{USERPROFILE} = 'C:\Users\foo';
is(AWS::CLI::Config::_base_dir, $ENV{USERPROFILE}, 'same as USERPROFILE');
};
subtest 'Other OS' => sub {
local $^O = 'Other';
local $ENV{HOME} = '/home/foo';
is(AWS::CLI::Config::_base_dir, $ENV{HOME}, 'same as HOME');
};
done_testing;
__END__
# vi: set ts=4 sw=4 sts=0 et ft=perl fenc=utf-8 ff=unix :
t/02_access_key_id.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use AWS::CLI::Config;
subtest 'Environment Variable' => sub {
local $ENV{AWS_ACCESS_KEY_ID} = '__dummy__';
is(AWS::CLI::Config::access_key_id, $ENV{AWS_ACCESS_KEY_ID}, 'set by env');
};
subtest 'From credentials file' => sub {
my $access_key_id = q[It's me.];
undef local $ENV{AWS_ACCESS_KEY_ID};
no strict 'refs';
no warnings 'redefine';
*AWS::CLI::Config::credentials = sub {
return AWS::CLI::Config::Profile->new({
aws_access_key_id => $access_key_id,
});
};
is(AWS::CLI::Config::access_key_id, $access_key_id, 'set by credentials');
};
subtest 'From config file' => sub {
my $access_key_id = q[It's me.];
undef local $ENV{AWS_ACCESS_KEY_ID};
no strict 'refs';
no warnings 'redefine';
*AWS::CLI::Config::credentials = sub {
return undef;
};
*AWS::CLI::Config::config = sub {
return AWS::CLI::Config::Profile->new({
aws_access_key_id => $access_key_id,
});
};
is(AWS::CLI::Config::access_key_id, $access_key_id, 'set by config');
};
done_testing;
__END__
# vi: set ts=4 sw=4 sts=0 et ft=perl fenc=utf-8 ff=unix :
t/03_output.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use AWS::CLI::Config;
subtest 'From credentials file' => sub {
my $output = '__format__';
no strict 'refs';
no warnings 'redefine';
*AWS::CLI::Config::credentials = sub {
return AWS::CLI::Config::Profile->new({
output => $output,
});
};
is(AWS::CLI::Config::output, $output, 'set by credentials');
};
subtest 'From config file' => sub {
my $output = '__format__';
no strict 'refs';
no warnings 'redefine';
*AWS::CLI::Config::credentials = sub {
return undef;
};
*AWS::CLI::Config::config = sub {
return AWS::CLI::Config::Profile->new({
output => $output,
});
};
is(AWS::CLI::Config::output, $output, 'set by config');
};
done_testing;
__END__
# vi: set ts=4 sw=4 sts=0 et ft=perl fenc=utf-8 ff=unix :
t/04_config.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use File::Temp 'tempfile';
use AWS::CLI::Config;
my ($fh, $file) = tempfile(UNLINK => 1);
my $default_access_key_id = 'Me';
my $default_secret_access_key = '__secret__';
my $tester_access_key_id = "Tester$default_access_key_id";
my $tester_secret_access_key = "__tester$default_secret_access_key";
print $fh <<"EOS";
[default]
aws_access_key_id = $default_access_key_id
aws_secret_access_key = $default_secret_access_key
[profile tester]
aws_access_key_id = $tester_access_key_id
aws_secret_access_key = $tester_secret_access_key
s3 =
addressing_style = path
EOS
close $fh;
local $ENV{AWS_CONFIG_FILE} = $file;
subtest 'Default profile' => sub {
my $config = AWS::CLI::Config::config;
is($config->aws_access_key_id, $default_access_key_id, 'access_key_id');
is($config->aws_secret_access_key, $default_secret_access_key, 'secret_access_key');
};
subtest 'Specific profile' => sub {
my $config = AWS::CLI::Config::config('tester');
is($config->aws_access_key_id, $tester_access_key_id, 'access_key_id');
is($config->aws_secret_access_key, $tester_secret_access_key, 'secret_access_key');
is($config->s3->{addressing_style}, 'path', 'nested value');
};
subtest 'Undefined profile' => sub {
my $config = AWS::CLI::Config::config('no-such-profile');
ok(!$config, 'undefined');
};
done_testing;
__END__
# vi: set ts=4 sw=4 sts=0 et ft=perl fenc=utf-8 ff=unix :
t/author-pod-syntax.t view on Meta::CPAN
#!perl
BEGIN {
unless ($ENV{AUTHOR_TESTING}) {
print qq{1..0 # SKIP these tests are for testing by the author\n};
exit
}
}
# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
use strict; use warnings;
use Test::More;
use Test::Pod 1.41;
all_pod_files_ok();
( run in 0.845 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )