version 1.1, 2007/02/18 05:50:25 |
version 1.4, 2007/02/27 17:08:05 |
|
|
#!/usr/bin/perl |
#!/usr/bin/perl -T |
# $RedRiver: keyring4.t,v 1.1 2007/02/17 23:36:07 andrew Exp $ |
# $RedRiver: keyring5-samples.t,v 1.3 2007/02/23 22:05:17 andrew Exp $ |
use strict; |
use strict; |
use warnings; |
use warnings; |
|
|
use Test::More tests => 30; |
use Test::More tests => 30; |
use Data::Dumper; |
|
|
|
BEGIN { use_ok( 'Palm::PDB' ); } |
BEGIN { use_ok( 'Palm::PDB' ); } |
BEGIN { use_ok( 'Palm::Keyring' ); } |
BEGIN { use_ok( 'Palm::Keyring' ); } |
|
|
my $pdb; |
my $pdb; |
ok( $pdb = new Palm::PDB, 'new Palm::PDB' ); |
ok( $pdb = new Palm::PDB, 'new Palm::PDB' ); |
ok( $pdb->Load('t/' . $file), "Loading '$file'" ); |
ok( $pdb->Load('t/' . $file), "Loading '$file'" ); |
ok( $pdb->Password($password), 'Passing Password' ); |
SKIP: { |
my @recs = (); |
skip 'Digest::HMAC_SHA1 not installed', 5 unless |
foreach my $rec (@{ $pdb->{records}}) { |
eval " require Digest::HMAC_SHA1 "; |
my $acct; |
|
ok( $acct = $pdb->Decrypt( $rec ), 'Decrypting record ' . scalar @recs ); |
if ($pdb->{appinfo}->{cipher} > 0) { |
push @recs, $acct; |
my $crypt = Palm::Keyring::crypts($pdb->{appinfo}->{cipher}); |
|
skip 'Crypt::CBC not installed', 5 unless |
|
eval "require Crypt::CBC"; |
|
skip 'Crypt::' . $crypt->{name} . ' not installed', 5 unless |
|
eval "require Crypt::$crypt->{name}"; |
|
} |
|
|
|
$password = 'abc'; |
|
ok( $pdb->Password($password), 'Passing Password' ); |
|
my @recs = (); |
|
foreach my $rec (@{ $pdb->{records}}) { |
|
my $acct; |
|
ok( $acct = $pdb->Decrypt( $rec ), 'Decrypting record ' . scalar @recs ); |
|
push @recs, $acct; |
|
} |
|
is_deeply(\@recs, $orig_recs, "Matching records in '$file'" ); |
} |
} |
is_deeply( $orig_recs, \@recs, "Matching records in '$file'" ); |
|
} |
} |