perl/keyring/kdewallet / t / 01-set-and-get.t

Marcin Kasperski b1652e5 



Marcin Kasperski c006acf 


Marcin Kasperski 185f954 
Marcin Kasperski c006acf 



Marcin Kasperski 179cc79 
Marcin Kasperski b1652e5 
Marcin Kasperski 185f954 
Marcin Kasperski b1652e5 
Marcin Kasperski 185f954 









Marcin Kasperski b1652e5 
Marcin Kasperski 185f954 

Marcin Kasperski 3c52eda 
Marcin Kasperski 185f954 


Marcin Kasperski b1652e5 
Marcin Kasperski 185f954 
Marcin Kasperski b1652e5 
Marcin Kasperski 185f954 
Marcin Kasperski b1652e5 
Marcin Kasperski 185f954 
Marcin Kasperski 3c52eda 
Marcin Kasperski 185f954 
Marcin Kasperski 164b6e1 
Marcin Kasperski 185f954 
Marcin Kasperski 164b6e1 
Marcin Kasperski 185f954 




#!perl -T

use strict;
use warnings;
use Test::More;

if($ENV{DESKTOP_SESSION} || $ENV{DBUS_SESSION_BUS_ADDRESS}) {
    plan tests => 9;
} else {
    plan skip_all => "Keyring not available (not running under KDE/Gnome/other desktop session), skipping tests";
}

use Passwd::Keyring::KDEWallet;

SKIP: {

    my $ring;
    eval {
        $ring = Passwd::Keyring::KDEWallet->new;
    }; if($@) {
        if($@ =~ /^KWallet not available/) {
            skip "KWallet not available ($@)", 9;
        } else {
            die $@;
        }
    }

    ok( defined($ring), "new() constructed something");
    ok( defined($ring) && ref $ring eq 'Passwd::Keyring::KDEWallet', 'new() constructed KDEWallet' );

    my $USER = 'John';
    my $PASSWORD = 'verysecret';
    my $REALM = 'some simple realm';

    $ring->set_password($USER, $PASSWORD, $REALM);

    ok( 1, "set_password works" );

    is( $ring->get_password($USER, $REALM), $PASSWORD, "get recovers");

    is( $ring->clear_password($USER, $REALM), 1, "clear_password removed one password" );

    is( $ring->get_password($USER, $REALM), undef, "no password after clear");

    is( $ring->clear_password($USER, $REALM), 0, "clear_password again has nothing to clear" );

    is( $ring->clear_password("Non user", $REALM), 0, "clear_password for unknown user has nothing to clear" );
    is( $ring->clear_password("$USER", 'non realm'), 0, "clear_password for unknown realm has nothing to clear" );

}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.