Business-OnlinePayment-BitPay-KeyUtils

 view release on metacpan or  search on metacpan

test.pl  view on Meta::CPAN

use Business::OnlinePayment::BitPay::KeyUtils;
use strict;
use warnings;
use Mozilla::CA;
use Test::More;
use LWP::UserAgent;
use HTTP::Request;
use LWP::Protocol::https;
use JSON;
use JSON::Parse 'parse_json';
use IO::Socket::SSL;

my $const_sin = "TeyN4LPrXiG5t2yuSamKqP3ynVk3F52iHrX";
my $const_pem = "-----BEGIN EC PRIVATE KEY-----\nMHQCAQEEICg7E4NN53YkaWuAwpoqjfAofjzKI7Jq1f532dX+0O6QoAcGBSuBBAAK\noUQDQgAEjZcNa6Kdz6GQwXcUD9iJ+t1tJZCx7hpqBuJV2/IrQBfue8jh8H7Q/4vX\nfAArmNMaGotTpjdnymWlMfszzXJhlw==\n-----END EC PRIVATE KEY-----\n\n";
my $const_pri = "283B13834DE77624696B80C29A2A8DF0287E3CCA23B26AD5FE77D9D5FED0EE90";
my $const_pub = "038D970D6BA29DCFA190C177140FD889FADD6D2590B1EE1A6A06E255DBF22B4017";

test.pl  view on Meta::CPAN

  ok( $signature =~ m/^304[4-6]022[0-1].*022[0-1]/, 'TEST SIGNATURE ENCODING SCHEME, BYTE LENGTH, & NEW SECTION LENGTHS');

  my $signature_length = length $signature;
  ok( $signature_length >= 140 && $signature_length <= 144, "TEST SIGNATURE LENGTH");
}

sub test_can_connect_to_bitpay_api {
  my $uri = "https://bitpay.com/tokens";
  my $pem = Business::OnlinePayment::BitPay::KeyUtils::bpGeneratePem();
  my $sin = Business::OnlinePayment::BitPay::KeyUtils::bpGenerateSinFromPem($pem);
  my $request = HTTP::Request->new(POST => $uri);
  $request->header('content-type' => 'application/json');
  my %content = ('id'=>$sin);
  my $jsonc = encode_json \%content;
  $request->content($jsonc);
  my $ua = LWP::UserAgent->new;
  my $response = $ua->request($request);
  ok($response->is_success, "TEST CONNECTION WITH BITPAY");
}

done_testing();



( run in 0.404 second using v1.01-cache-2.11-cpan-de7293f3b23 )