Amazon-CloudFront-SignedURL
view release on metacpan or search on metacpan
use Amazon::CloudFront::SignedURL;
use File::Basename qw(dirname);
use File::Spec;
use Test::Exception;
use Test::More;
use t::Util;
my $private_key = slurp( File::Spec->catfile( dirname(__FILE__), 'test.pem' ) );
subtest 'invalid arguments' => sub {
throws_ok {
Amazon::CloudFront::SignedURL->new();
}
qr/Attribute \(private_key_string\) is required/;
throws_ok {
Amazon::CloudFront::SignedURL->new( private_key_string => $private_key, );
}
qr/Attribute \(key_pair_id\) is required/;
};
subtest 'new' => sub {
my $signed_url = Amazon::CloudFront::SignedURL->new(
private_key_string => $private_key,
key_pair_id => 'FLSIGIOFD4CF6IDLG2DD',
);
t/02_generate.t view on Meta::CPAN
use Test::More;
use t::Util;
my $private_key = slurp( File::Spec->catfile( dirname(__FILE__), 'test.pem' ) );
my $signed_url = Amazon::CloudFront::SignedURL->new(
private_key_string => $private_key,
key_pair_id => 'FLSIGIOFD4CF6IDLG2DD',
);
subtest 'invalid arguments' => sub {
throws_ok {
$signed_url->generate();
}
qr/Missing parameter: 'resource'/;
throws_ok {
$signed_url->generate( resource => 'test' );
}
qr/Missing parameter: 'expires' \(or 'policy'\)/;
throws_ok {
$signed_url->generate(
resource => 'test',
expires => 1422494408,
policy => '{"Statement":[{"Resource":"test","Condition":{"DateLessThan":{"AWS:EpochTime":1422494408}}}]}',
);
}
qr/Exclusive parameters passed together: 'expires' v\.s\. 'policy'/;
};
subtest 'invalid private key' => sub {
throws_ok {
my $signed_url = Amazon::CloudFront::SignedURL->new(
private_key_string => 'invalid key',
key_pair_id => 'FLSIGIOFD4CF6IDLG2DD',
);
$signed_url->generate(
resource => 'test',
expires => 1422494408,
);
}
qr/Private Key Error: Maybe your key is invalid/;
( run in 0.456 second using v1.01-cache-2.11-cpan-496ff517765 )