- tests updated for new B::OP::PayflowPro using HTTP protocol
authorplobbes <plobbes>
Mon, 12 Mar 2007 05:53:42 +0000 (05:53 +0000)
committerplobbes <plobbes>
Mon, 12 Mar 2007 05:53:42 +0000 (05:53 +0000)
- use CLIENTCERTID environment var for testing using (temporarily
  required) X-VPS-VIT-CLIENT-CERTIFICATION-ID

t/credit_card.t

index 75e298f..efe6a26 100644 (file)
@@ -9,7 +9,7 @@ use Business::OnlinePayment;
 
 my $runinfo =
     "to test set environment variables:"
-  . " (required) PFPRO_VENDOR PFPRO_USER PFPRO_PWD;"
+  . " (required) PFPRO_VENDOR PFPRO_USER PFPRO_PWD and CLIENTCERTID (for X-VPS-VIT-CLIENT-CERTIFICATION-ID); "
   . " (optional) PFPRO_PARTNER PFPRO_CERT_PATH";
 
 plan(
@@ -19,9 +19,22 @@ plan(
 );
 
 my %opts = (
-    "vendor"    => $ENV{PFPRO_VENDOR},
-    "partner"   => $ENV{PFPRO_PARTNER} || "verisign",
-    "cert_path" => $ENV{PFPRO_CERT_PATH} || ".",
+    "debug"   => 0,
+    "vendor"  => $ENV{PFPRO_VENDOR},
+    "partner" => $ENV{PFPRO_PARTNER} || "verisign",
+    ( $ENV{PFPRO_CERT_PATH} ? ( "cert_path" => $ENV{PFPRO_CERT_PATH} ) : () ),
+    (
+        $ENV{CLIENTCERTID} ? (
+            headers => {
+                "X-VPS-VIT-CLIENT-CERTIFICATION-ID" => $ENV{CLIENTCERTID},
+
+                # "X-VPS-REQUEST-ID" => $self->request_id(),
+                # "X-VPS-CLIENT-TIMEOUT" => , # default 45 seconds
+                # "X-VPS-VIT-CLIENT-DURATION" => , # commit request
+            }
+          )
+        : ()
+    ),
 );
 
 my %content = (
@@ -91,6 +104,7 @@ my %content = (
     );
 
     # IF first 3 chars of STREET >= 667 THEN AVSADDR == "X" (and AVSZIP="X")
+    $tx = new Business::OnlinePayment( "PayflowPro", %opts );
     $tx->content( %content, "address" => "700 Any street" );
     tx_check(
         $tx,
@@ -104,6 +118,7 @@ my %content = (
     );
 
     # IF ZIP <= 50001 and >= 99999 THEN AVSZIP == "N"
+    $tx = new Business::OnlinePayment( "PayflowPro", %opts );
     $tx->content( %content, "zip" => "99999" );
     tx_check(
         $tx,
@@ -117,6 +132,7 @@ my %content = (
     );
 
     # Both AVSADDR and AVSZIP == "N"
+    $tx = new Business::OnlinePayment( "PayflowPro", %opts );
     $tx->content( %content, "address" => "500 Any street", "zip" => "99999" );
     tx_check(
         $tx,
@@ -147,6 +163,7 @@ my %content = (
     );
 
     # IF CVV2 >= 601 THEN CVV2MATCH == "X"
+    $tx = new Business::OnlinePayment( "PayflowPro", %opts );
     $tx->content( %content, "cvv2" => "601" );
     tx_check(
         $tx,
@@ -173,8 +190,6 @@ sub tx_check {
     is( $tx->authorization, $o{authorization}, "authorization() / AUTHCODE" );
     is( $tx->avs_code,  $o{avs_code},  "avs_code() / AVSADDR and AVSZIP" );
     is( $tx->cvv2_code, $o{cvv2_code}, "cvv2_code() / CVV2MATCH" );
-
-    no warnings 'uninitialized';
     like( $tx->order_number, qr/^\w{12}/, "order_number() / PNREF" );
 }