Commit | Line | Data |
2006bd3f |
1 | #!/usr/bin/perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use Test::More 'no_plan'; |
d1ba091f |
7 | # use KiokuX::Model; |
2006bd3f |
8 | use File::Temp; |
9 | |
10 | use_ok('Text::Tradition::UserStore'); |
11 | |
12 | my $fh = File::Temp->new(); |
13 | my $file = $fh->filename; |
14 | $fh->close; |
15 | my $dsn = "dbi:SQLite:dbname=$file"; |
2006bd3f |
16 | |
ef02228c |
17 | my $user_store = Text::Tradition::UserStore->new('dsn' => $dsn, |
18 | 'extra_args' => { 'create' => 1 } ); |
19 | |
20 | ## passwords |
21 | my $shortpass = 'bloggs'; |
22 | ok(!$user_store->validate_password($shortpass), '"bloggs" is too short for a password'); |
2006bd3f |
23 | |
d1ba091f |
24 | ## create user |
ef02228c |
25 | my $new_user = $user_store->add_user({ username => 'fred', |
26 | password => 'bloggspass'}); |
2006bd3f |
27 | isa_ok($new_user, 'Text::Tradition::User'); |
28 | |
d1ba091f |
29 | ## find user |
30 | my $find_user = $user_store->find_user({ username => 'fred'}); |
31 | isa_ok($find_user, 'Text::Tradition::User'); |
ef02228c |
32 | ok($find_user->check_password('bloggspass'), 'Stored & retrieved with correct password'); |
33 | |
34 | ## modify user |
35 | my $changed_user = $user_store->modify_user({ username => 'fred', |
36 | password => 'passbloggs' }); |
37 | isa_ok($changed_user, 'Text::Tradition::User'); |
38 | my $changed = $user_store->find_user({ username => 'fred'}); |
39 | ok($changed->check_password('passbloggs'), 'Modified & retrieved with correct new password'); |
d1ba091f |
40 | |
41 | |