Amazon-SQS-Client
view release on metacpan or search on metacpan
t/01-sqs-client.t view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use Data::Dumper;
use English qw(-no_match_vars);
use List::Util qw(any);
my $client;
plan skip_all => 'no service set'
if !$ENV{SERVICE_URL};
########################################################################
subtest 'create client' => sub {
########################################################################
use_ok('Amazon::SQS::Client');
local $ENV{AWS_ACCESS_KEY_ID} = 'TEST';
local $ENV{AWS_SECRET_ACCESS_KEY} = 'TEST';
$client = Amazon::SQS::Client->new( undef, undef, { ServiceURL => $ENV{SERVICE_URL} } );
isa_ok( $client, 'Amazon::SQS::Client' )
or BAIL_OUT('could not create client');
};
my $queueUrl;
########################################################################
subtest 'create queue' => sub {
########################################################################
my $rsp = $client->createQueue( { QueueName => 'fooManQueue' } );
my $result = $rsp->getCreateQueueResult();
isa_ok( $result, 'Amazon::SQS::Model::CreateQueueResult')
or BAIL_OUT('could not create queue');
$queueUrl = $result->getQueueUrl;
like( $queueUrl, qr/http.*\/fooManQueue/xsm )
or diag( Dumper( [ result => $result ] ) );
};
########################################################################
subtest 'create queue' => sub {
########################################################################
my $rsp = $client->listQueues();
my $result = $rsp->getListQueuesResult();
isa_ok($result, 'Amazon::SQS::Model::ListQueuesResult')
or BAIL_OUT('could not list queues');
my $queueUrls = $result->getQueueUrl();
isa_ok( $queueUrls, 'ARRAY' );
ok( any { $_ =~ /fooManQueue/xsm } @{$queueUrls} );
};
########################################################################
subtest 'send message' => sub {
########################################################################
my $rsp = $client->sendMessage({ QueueUrl => $queueUrl,
MessageBody => 'test message'
( run in 1.654 second using v1.01-cache-2.11-cpan-98e64b0badf )