1 use File::Path qw/remove_tree/;
5 use Test::More tests => 17;
6 BEGIN { use_ok('Blerg::Database') };
9 my $test_user = 'barfy';
10 my $test_dir = "/tmp/blerg_test_$$";
16 my ($ptr, $password, $n);
20 $ptr = Blerg::Database->open($test_user);
23 ### Auth (C interface)
24 is( Blerg::Database::auth_set_password($test_user, $password), 1 );
25 isnt( Blerg::Database::auth_set_password('fakeuser', $password), 1 );
27 is( Blerg::Database::auth_check_password($test_user, $password), 1 );
28 isnt( Blerg::Database::auth_check_password('fakeuser', $password), 1 );
29 isnt( Blerg::Database::auth_check_password($test_user, 'wrongpass'), 1 );
31 my $token = Blerg::Database::auth_login($test_user, $password);
33 ok( length($token) == 32 );
34 ok( Blerg::Database::auth_check_token($test_user, $token) );
35 isnt( Blerg::Database::auth_check_token($test_user, 'badtoken'), 1 );
36 isnt( Blerg::Database::auth_check_token('fakeuser', $token), 1 );
37 ok( Blerg::Database::auth_logout($test_user, $token) );
39 $token = Blerg::Database::auth_login($test_user, 'wrongpass');
40 ok( not defined $token );
42 $token = Blerg::Database::auth_login('wronguser', $password);
43 ok( not defined $token );
45 isnt( Blerg::Database::auth_logout($test_user, 'badtoken'), 1 );
46 isnt( Blerg::Database::auth_logout('fakeuser', 'badtoken'), 1 );
48 Blerg::Database::auth_set_password($test_user, $password . 'X');
49 ok( Blerg::Database::auth_check_password($test_user, $password . 'X') );
53 remove_tree "/tmp/blerg_test_$$";