From f56c3c94e514a8539f135e392cc2dedd86e56022 Mon Sep 17 00:00:00 2001 From: plobbes Date: Sat, 13 Jan 2007 17:23:23 +0000 Subject: [PATCH] - skip if B::OP::https fails, test cases from bop.t --- t/fd_precharge.t | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 t/fd_precharge.t diff --git a/t/fd_precharge.t b/t/fd_precharge.t new file mode 100644 index 0000000..ae3a92c --- /dev/null +++ b/t/fd_precharge.t @@ -0,0 +1,53 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use Test::More; + +{ # fake test driver (with a submit method) + + package Business::OnlinePayment::MOCK; + use strict; + use warnings; + use base qw(Business::OnlinePayment); + sub submit { my $self = shift; return 1; } +} +$INC{"Business/OnlinePayment/MOCK.pm"} = "testing"; + +use Business::OnlinePayment; + +my $package = "Business::OnlinePayment"; +my $fddrv = "preCharge"; + +eval { + my $tobj = $package->new("MOCK"); + $tobj->fraud_detect($fddrv); + $tobj->submit; +}; + +if ( $@ =~ /One of Net::SSLeay.*?or Crypt::SSLeay/ ) { + plan skip_all => "fraud_detect: $@\n"; +} +else { + plan tests => 5; +} + +my $obj = $package->new("MOCK"); +can_ok( $obj, qw(fraud_detect) ); + +# fraud detection failure modes +my $fdbog = "__BOGUS_PROCESSOR"; + +is( $obj->fraud_detect($fdbog), $fdbog, "fraud_detect set to '$fdbog'" ); +eval { $obj->submit; }; +like( + $@, + qr/^Unable to locate fraud_detection /, + "fraud_detect with unknown processor croaks" +); + +is( $obj->fraud_detect($fddrv), $fddrv, "fraud_detect set to '$fddrv'" ); +eval { $obj->submit; }; +like( $@, qr/^missing required /, "fraud_detect($fddrv) missing fields" ); + +# XXX: more test cases needed -- 2.11.0