| use Mojo::Base -strict; | 
 | use Test::More; | 
 | use Test::Mojo; | 
 | use Mojo::File qw/path/; | 
 | use utf8; | 
 |  | 
 | my $t = Test::Mojo->new('Kalamar' => { | 
 |   Kalamar => { | 
 |     plugins => ['Auth'] | 
 |   }, | 
 |   'Kalamar-Auth' => { | 
 |     client_id => 2, | 
 |     client_secret => 'k414m4r-s3cr3t', | 
 |     oauth2 => 1 | 
 |   } | 
 | }); | 
 |  | 
 | $t->app->mode('production'); | 
 |  | 
 | my $q = qr!(?:\"|")!; | 
 |  | 
 | $t->post_ok('/user/login' => form => { handle_or_email => 'test', pwd => 'fail' }) | 
 |   ->status_is(302) | 
 |   ->header_is('Location' => '/'); | 
 |  | 
 | $t->get_ok('/') | 
 |   ->status_is(200) | 
 |   ->element_exists('link[rel=stylesheet][href^=/css/kalamar-]') | 
 |   ->element_exists('script[src^=/js/kalamar-]') | 
 |   ->element_exists('div.notify-error') | 
 |   ->text_is('div.notify-error', 'Bad CSRF token') | 
 |   ->element_exists('input[name=handle_or_email][value=test]') | 
 |   ->element_exists_not('div.button.top a') | 
 |   ->attr_is('body','data-korap-url','') | 
 |   ->header_exists_not('Strict-Transport-Security') | 
 |   ; | 
 |  | 
 | is('kalamar',$t->app->sessions->cookie_name); | 
 | ok(!$t->app->sessions->secure); | 
 |  | 
 | $t = Test::Mojo->new('Kalamar' => { | 
 |   Kalamar => { | 
 |     plugins => ['Auth'], | 
 |     https_only => 1 | 
 |   }, | 
 |   'Kalamar-Auth' => { | 
 |     client_id => 2, | 
 |     client_secret => 'k414m4r-s3cr3t', | 
 |     oauth2 => 1 | 
 |   } | 
 | }); | 
 |  | 
 | $t->post_ok('/user/login' => form => { handle_or_email => 'test', pwd => 'fail' }) | 
 |   ->status_is(302) | 
 |   ->header_is('Location' => '/') | 
 |   ->header_is('Strict-Transport-Security', 'max-age=3600; includeSubDomains') | 
 |   ; | 
 |  | 
 | $t->get_ok('/') | 
 |   ->status_is(200) | 
 |   ->element_exists_not('div.notify-error') | 
 |   ; | 
 |  | 
 | is('kalamar',$t->app->sessions->cookie_name); | 
 | ok($t->app->sessions->secure); | 
 |  | 
 | $t = Test::Mojo->new('Kalamar' => { | 
 |   Kalamar => { | 
 |     plugins => ['Auth'], | 
 |     proxy_prefix => '/korap/test', | 
 |     https_only => 1 | 
 |   }, | 
 |   'Kalamar-Auth' => { | 
 |     client_id => 2, | 
 |     client_secret => 'k414m4r-s3cr3t', | 
 |     oauth2 => 1 | 
 |   } | 
 | }); | 
 |  | 
 | $t->app->mode('production'); | 
 |  | 
 | $t->get_ok('/') | 
 |   ->status_is(200) | 
 |   ->element_exists('link[rel=stylesheet][href^=/korap/test/css/kalamar-]') | 
 |   ->element_exists('script[src^=/korap/test/js/kalamar-]') | 
 |   ; | 
 |  | 
 | is('kalamar-koraptest',$t->app->sessions->cookie_name); | 
 | ok($t->app->sessions->secure); | 
 |  | 
 | $t->post_ok('/user/login' => form => { handle_or_email => 'test', pwd => 'fail' }) | 
 |   ->status_is(302) | 
 |   ->header_is('Location' => '/'); | 
 |  | 
 | # Session can't be used | 
 | $t->get_ok('/') | 
 |   ->status_is(200) | 
 |   ->element_exists_not('div.notify-error') | 
 |   ->attr_is('body','data-korap-url','/korap/test') | 
 |   ; | 
 |  | 
 |  | 
 | done_testing(); |