version 1.25, 2009/06/11 21:41:31 |
version 1.27, 2011/09/19 04:05:11 |
|
|
use strict; |
use strict; |
use warnings; |
use warnings; |
|
|
use Test::More tests => 321; |
use Test::More tests => 333; |
use Data::Dumper; |
use Data::Dumper; |
|
|
BEGIN { |
BEGIN { |
|
|
eval{ Palm::Keyring::_password_verify_v4($password) }; |
eval{ Palm::Keyring::_password_verify_v4($password) }; |
like( |
like( |
$@, |
$@, |
qr/^No \s encrypted \s password!/xms, |
qr/^No \s encrypted \s password \s in \s file!/xms, |
'_password_verify_v4 with no password' |
'_password_verify_v4 with no password' |
); |
); |
|
|
|
|
$new_password ) }; |
$new_password ) }; |
like( |
like( |
$@, |
$@, |
qr/^Invalid \s Password/xms, |
qr/^Incorrect \s Password/xms, |
'Couldn\'t load Palm::Keyring file with no data and wrong password' |
'Couldn\'t load Palm::Keyring file with no data and wrong password' |
); |
); |
|
|
|
|
$acct->{254} = { |
$acct->{254} = { |
label => 'misc', |
label => 'misc', |
label_id => 254, |
label_id => 254, |
data => 'This doesn\'t even really exist', |
data => 'This doesn\'t even really existx', |
font => 0, |
font => 0, |
}; |
}; |
ok( $pdb->Encrypt( $record, $password, $acct ), |
ok( $pdb->Encrypt( $record, $password, $acct ), |
|
|
eval{ $pdb->Decrypt( $record ) }; |
eval{ $pdb->Decrypt( $record ) }; |
like( |
like( |
$@, |
$@, |
qr/^Unsupported \s Crypt \s Testing \s in \s decrypt/xms, |
qr/^Unsupported \s Crypt \s Testing/xms, |
'Couldn\'t Decrypt with unsupported Crypt' |
'Couldn\'t Decrypt with unsupported Crypt' |
); |
); |
|
|
|
|
eval{ $pdb->Encrypt( $record ) }; |
eval{ $pdb->Encrypt( $record ) }; |
like( |
like( |
$@, |
$@, |
qr/^Unsupported \s Crypt \s Testing \s in \s encrypt/xms, |
qr/^Unsupported \s Crypt \s Testing/xms, |
'Couldn\'t Encrypt with unsupported Crypt' |
'Couldn\'t Encrypt with unsupported Crypt' |
); |
); |
$record->{encrypted} = $encrypted; |
$record->{encrypted} = $encrypted; |
|
|
eval{ $pdb->Decrypt( $record ) }; |
eval{ $pdb->Decrypt( $record ) }; |
like( |
like( |
$@, |
$@, |
qr/^Unknown \s cipher \s $bad_cipher \s in \s decrypt/xms, |
qr/^Unknown \s cipher \s $bad_cipher/xms, |
'Couldn\'t Decrypt with unsupported cipher' |
'Couldn\'t Decrypt with unsupported cipher' |
); |
); |
|
|
|
|
eval{ $pdb->Encrypt( $record ) }; |
eval{ $pdb->Encrypt( $record ) }; |
like( |
like( |
$@, |
$@, |
qr/^Unknown \s cipher \s $bad_cipher \s in \s encrypt/xms, |
qr/^Unknown \s cipher \s $bad_cipher/xms, |
'Couldn\'t Encrypt with unsupported cipher' |
'Couldn\'t Encrypt with unsupported cipher' |
); |
); |
$record->{encrypted} = $encrypted; |
$record->{encrypted} = $encrypted; |
|
|
eval{ $pdb->PackRecord($record2) }; |
eval{ $pdb->PackRecord($record2) }; |
like( |
like( |
$@, |
$@, |
qr/^No \s data \s to \s PackRecord/xms, |
qr/^No \s data \s in \s record \s to \s pack/xms, |
'Pack Empty Record with no data' |
'Pack Empty Record with no data' |
); |
); |
|
|
|
|
eval{ $pdb->Decrypt( $record ) }; |
eval{ $pdb->Decrypt( $record ) }; |
like( |
like( |
$@, |
$@, |
qr/^Unsupported \s version \s $bad_version \s in \s Decrypt/xms, |
qr/^Unsupported \s Version \s $bad_version/xms, |
'Couldn\'t Decrypt with unsupported version' |
'Couldn\'t Decrypt with unsupported version' |
); |
); |
|
|
|
|
eval{ $pdb->Encrypt( $record, undef, $acct ) }; |
eval{ $pdb->Encrypt( $record, undef, $acct ) }; |
like( |
like( |
$@, |
$@, |
qr/^Unsupported \s version \s $bad_version \s in \s Encrypt/xms, |
qr/^Unsupported \s Version \s $bad_version/xms, |
'Couldn\'t Encrypt with unsupported version' |
'Couldn\'t Encrypt with unsupported version' |
); |
); |
|
|
|
|
'Couldn\'t ParseRecord with Invalid Version' |
'Couldn\'t ParseRecord with Invalid Version' |
); |
); |
|
|
eval{ $pdb->Password( $password ) }; |
eval{ $pdb->Password( $new_password ) }; |
like( $@, |
like( $@, |
qr/^Unsupported \s Version \s $bad_version/xms, |
qr/^Unsupported \s Version \s $bad_version/xms, |
'Couldn\'t Password with Invalid Version' |
'Couldn\'t Password with Invalid Version' |
); |
); |
|
|
|
|
$pdb = undef; |
$pdb = undef; |
$record = undef; |
$record = undef; |
$record2 = undef; |
$record2 = undef; |
|
|
my $record; |
my $record; |
my $decrypted; |
my $decrypted; |
%{ $acct->{3}->{data} } = %unchanging_date; |
%{ $acct->{3}->{data} } = %unchanging_date; |
|
my $rec_num = 0; |
|
|
|
|
my $Num_Tests_Left = 25; |
my $Num_Tests_Left = 25; |
SKIP: { |
SKIP: { |
if ( defined $options->{cipher} && $options->{cipher} > 0 ) { |
if ( defined $options->{cipher} && $options->{cipher} > 0 ) { |
|
|
ok( $record = $pdb->append_Record(), 'Append Record' ); |
ok( $record = $pdb->append_Record(), 'Append Record' ); |
|
|
ok( $pdb->Password(), 'Clear Password' ); |
ok( $pdb->Password(), 'Clear Password' ); |
|
|
eval{ $pdb->Encrypt() }; |
eval{ $pdb->Encrypt() }; |
like( |
like( |
$@, |
$@, |
|
|
eval{ $pdb->Encrypt( $record, $new_password, $acct ) }; |
eval{ $pdb->Encrypt( $record, $new_password, $acct ) }; |
like( |
like( |
$@, |
$@, |
qr/^Invalid \s Password/xms, |
qr/^Incorrect \s Password/xms, |
'Encrypt account into record with wrong password' |
'Encrypt account into record with wrong password' |
); |
); |
|
|
|
|
ok( $pdb->Encrypt( $record, $password, $acct ), |
ok( $pdb->Encrypt( $record, $password, $acct ), |
'Encrypt account into record (with no changes)'); |
'Encrypt account into record (with no changes)'); |
|
|
|
ok( $decrypted = $pdb->Decrypt( $pdb->{records}->[$rec_num] ), |
|
'Decrypt record' ); |
|
|
|
|
|
is( $decrypted->{2}->{data}, $password, 'Got password' ); |
|
|
ok( $pdb->Write($file), 'Write file' ); |
ok( $pdb->Write($file), 'Write file' ); |
#print Dumper $pdb, $acct, $record; |
|
|
|
$pdb = undef; |
$pdb = undef; |
|
|
|
|
|
|
ok( $pdb->Load($file), 'Load File' ); |
ok( $pdb->Load($file), 'Load File' ); |
|
|
my $rec_num = 0; |
|
|
|
eval{ $pdb->Decrypt( ) }; |
eval{ $pdb->Decrypt( ) }; |
like( |
like( |
$@, |
$@, |
|
|
eval{ $pdb->Decrypt( $pdb->{records}->[$rec_num], $new_password ) }; |
eval{ $pdb->Decrypt( $pdb->{records}->[$rec_num], $new_password ) }; |
like( |
like( |
$@, |
$@, |
qr/^Invalid \s Password/xms, |
qr/^Incorrect \s Password/xms, |
'Decypt with invalid password' |
'Decypt with invalid password' |
); |
); |
|
|
ok( $pdb->Password($password), 'Verify Password' ); |
|
|
|
eval{ $pdb->Password($new_password) }; |
eval{ $pdb->Password($new_password) }; |
like( |
like( |
$@, |
$@, |
qr/^Invalid \s Password/xms, |
qr/^Incorrect \s Password/xms, |
'Verify Incorrect Password' |
'Verify Incorrect Password' |
); |
); |
|
|
|
|
qr/^No \s encrypted \s content!/xms, |
qr/^No \s encrypted \s content!/xms, |
'Decrypt with empty record' |
'Decrypt with empty record' |
); |
); |
|
|
|
ok( $pdb->Password($password), 'Verify Password' ); |
|
|
ok( $decrypted = $pdb->Decrypt( $pdb->{records}->[$rec_num] ), |
ok( $decrypted = $pdb->Decrypt( $pdb->{records}->[$rec_num] ), |
'Decrypt record' ); |
'Decrypt record' ); |