Ticketmaster-API
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
t/Mock/Ticketmaster/API.pm view on Meta::CPAN
package Mock::Ticketmaster::API;
use strict;
use warnings;
use Storable;
use Test::Mock::Simple;
my $mock = Test::Mock::Simple->new( module => 'Ticketmaster::API', allow_new_methods => 1);
# Requires: method, path_template (sprintf string), parameters (hash ref)
$mock->add( get_data => sub {
my $self = shift;
my %args = @_;
my $method = $args{method} || Carp::croak("No method provided (GET)");
my $path_template = $args{path_template} || Carp::croak("No URI template provided");
my %parameters = exists $args{parameters} ? %{$args{parameters}} : ();
my $uri .= sprintf($path_template, $self->version());
$uri .= '?apikey=' . $self->api_key();
foreach my $key (sort {$a cmp $b} keys %parameters) {
$uri .= '&' . $key . '=' . $parameters{$key};
}
$uri =~ s/[?&\/=]/_/g;
my $mock_file_name = 't/recordings/' . $method . '_' . $uri;
my $ret = retrieve($mock_file_name);
return $ret;
});
1;
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.644 second using v1.00-cache-2.02-grep-82fe00e-cpan-eac11a1d038b )