| use Mojo::Base -strict; |
| use Test::Mojo; |
| use Test::More; |
| use Mojolicious::Lite; |
| use lib 'lib', '../lib'; |
| |
| my $t = Test::Mojo->new; |
| my $app = $t->app; |
| |
| # Add additional plugin path |
| push(@{app->plugins->namespaces}, 'Kalamar::Plugin'); |
| |
| plugin 'CHI' => { |
| user => { |
| driver => 'Memory', |
| global => 1 |
| } |
| }; |
| |
| plugin 'KalamarUser' => { |
| api => 'http://10.0.10.51:7070/api/v0.1/' |
| }; |
| |
| post '/acct/login' => sub { |
| my $c = shift; |
| my $user = $c->param('user'); |
| my $pwd = $c->param('pwd'); |
| return $c->redirect_to('index') if $c->user->login($user, $pwd); |
| return $c->redirect_to; |
| } => 'login'; |
| |
| |
| get '/' => sub { |
| my $c = shift; |
| my $details = $c->user->get('details'); |
| return $c->redirect_to('login') unless $details; |
| $c->render(json => $details); |
| } => 'index'; |
| |
| |
| get '/acct/settings' => sub { |
| my $c = shift; |
| my $settings = $c->user->get('settings'); |
| return $c->redirect_to('login') unless $settings; |
| $c->render(json => $settings); |
| }; |
| |
| |
| $t->get_ok('/') |
| ->status_is(302) |
| ->header_is('location', '/acct/login'); |
| |
| # Tests |
| $t->post_ok('/acct/login' => {} => form => { |
| user => 'kustvakt', |
| pwd => 'kustvakt2015' |
| }) |
| ->status_is(302) |
| ->header_is('location', '/'); |
| |
| $t->get_ok('/') |
| ->status_is(200) |
| ->json_is('/country', 'Germany') |
| ->json_is('/firstName', 'Kustvakt') |
| ->json_is('/lastName', 'KorAP') |
| ->json_is('/email', 'kustvakt@ids-mannheim.de') |
| ; |
| |
| $t->get_ok('/acct/settings') |
| ->status_is(200) |
| ->json_is('/queryLanguage', 'COSMAS2') |
| ->json_is('/constFoundry', 'mate') |
| ->json_is('/relFoundry', 'mate') |
| ->json_is('/lemmaFoundry', 'tt') |
| ->json_is('/POSFoundry', 'tt') |
| ; |
| |
| done_testing; |
| |
| __END__ |
| |
| # print Dumper $user->user_query; |
| # print Dumper $user->get_collection_stat('242eea9442fcba4e4f51e4ff292eebe2aca4e7f3'); |
| # print Dumper $user->user_settings; |
| print Dumper $user->collections; |
| |
| #print "\n"; |
| |
| # my $x = 'ZGU0ZTllNTFkYzc3M2VhZmViYzdkYWE2ODI5NDc3NTk4NGQ1YThhOTMwOTNhOWYxNWMwN2M3Y2YyZmE3N2RlNQ=='; |
| # print b($x)->b64_decode,"\n"; |
| |
| my $user = Kalamar::User->new->authorize_jwt('kustvakt', 'kustvakt2015'); |