NAME
WebService::PayPal::PaymentsAdvanced::Mocker - A class which returns mocked PPA apps.
VERSION
version 0.000020
SYNOPSIS
use WebService::PayPal::PaymentsAdvanced::Mocker;
my $mocker = WebService::PayPal::PaymentsAdvanced::Mocker->new( plack => 1 );
my $app = $mocker->payflow_pro; # returns a PSGI app
# OR, to use with a mocking UserAgent
use Test::LWP::UserAgent;
use HTTP::Message::PSGI;
my $ua = Test::LWP::UserAgent->new;
my $mocker = WebService::PayPal::PaymentsAdvanced::Mocker->new( plack => 1 );
$ua->register_psgi( 'pilot-payflowpro.paypal.com', $mocker->payflow_pro );
$ua->register_psgi( 'pilot-payflowlink.paypal.com', $mocker->payflow_link );
my $ppa = WebService::PayPal::PaymentsAdvanced->new(
ua => $ua,
...
);
DESCRIPTION
You can use this class to facilitate mocking your PPA integration. When running under $ENV{HARNESS_ACTIVE}, you can pass a Test::LWP::UserAgent to WebService::PayPal::PaymentsAdvanced as in the SYNOPSIS above. Adjust the hostnames as necessary.
CONSTRUCTOR OPTIONS
plack => [0|1]
If you require a PSGI app to be returned, you'll need to enable this option. Disabled by default.
use WebService::PayPal::PaymentsAdvanced::Mocker;
my $mocker = WebService::PayPal::PaymentsAdvanced::Mocker->new( plack => 1 );
my $app = $mocker->payflow_pro; # returns a PSGI app
ua
If may provide your own UserAgent object to this class. This is only necessary if you intend to call the mocked_ua
method and need to provide your own customized UserAgent. The object must be Test::LWP::UserAgent object, or a subclass of it.
payflow_link
Returns a Mojolicious::Lite app which mocks the Payflow Link web service.
payflow_pro
Returns a Mojolicious::Lite app which mocks the Payflow Pro web service.
mocked_ua
Returns a UserAgent object mocking already enabled for both live and sandbox PayPal hostnames. The UserAgent will either be the object which you passed via the ua
option when you created the object or a vanilla Test::LWP::UserAgent object which this class will create.
AUTHOR
Olaf Alders <olaf@wundercounter.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by MaxMind, Inc.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.