]> Dogcows Code - chaz/p5-CGI-Ex/blobdiff - t/8_auth_00_base.t
CGI::Ex 2.27
[chaz/p5-CGI-Ex] / t / 8_auth_00_base.t
index 4b5cbfdef5b23d9c7311b2deaa081a40ea3c93a8..bf630187f0cddc65ea37f66486e91f7b932aea86 100644 (file)
@@ -7,7 +7,7 @@
 =cut
 
 use strict;
-use Test::More tests => 35;
+use Test::More tests => 68;
 
 use_ok('CGI::Ex::Auth');
 
@@ -15,16 +15,22 @@ use_ok('CGI::Ex::Auth');
     package Auth;
     use base qw(CGI::Ex::Auth);
     use strict;
-    use vars qw($printed $set_cookie $deleted_cookie);
+    use vars qw($printed $set_cookie $deleted_cookie $failed_login_user $cookie);
 
-    sub login_print      { $printed = 1 }
-    sub set_cookie       { $set_cookie = 1 }
-    sub delete_cookie    { $deleted_cookie = 1 }
+    sub login_print      { $failed_login_user = shift->login_hash_common->{'cea_user'}; $printed = 1 }
+    sub set_cookie       { shift; $cookie = shift; $set_cookie = 1 }
+    sub delete_cookie    { $cookie = {}; $deleted_cookie = 1 }
     sub get_pass_by_user { '123qwe' }
     sub script_name      { $0 }
     sub no_cookie_verify { 1 }
     sub secure_hash_keys { ['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbbbbbbbbbbbb', 'ccc'] }
     sub failed_sleep     { 0 }
+
+    sub reset {
+        $Auth::printed = $Auth::set_cookie = $Auth::deleted_cookie = 0;
+        $Auth::failed_login_user = '';
+        $Auth::cookie = {};
+    }
 }
 
 {
@@ -46,56 +52,127 @@ my $cookie_bad   = { cea_user => 'test/123qw'  };
 my $cookie_good  = { cea_user => 'test/123qwe' };
 my $cookie_good2 = { cea_user => $token };
 
-sub form_good    { Auth->get_valid_auth({form => {%$form_good},  cookies => {}              }) }
-sub form_good2   { Auth->get_valid_auth({form => {%$form_good2}, cookies => {}              }) }
-sub form_good3   { Aut2->get_valid_auth({form => {%$form_good3}, cookies => {}              }) }
-sub form_bad     { Auth->get_valid_auth({form => {%$form_bad},   cookies => {}              }) }
-sub cookie_good  { Auth->get_valid_auth({form => {},             cookies => {%$cookie_good} }) }
-sub cookie_good2 { Auth->get_valid_auth({form => {},             cookies => {%$cookie_good2}}) }
-sub cookie_bad   { Auth->get_valid_auth({form => {},             cookies => {%$cookie_bad}  }) }
-
-$Auth::printed = $Auth::set_cookie = $Auth::deleted_cookie = 0;
+sub form_good     { Auth->get_valid_auth({form => {%$form_good},  cookies => {}              }) }
+Auth::reset();
 ok(form_good(), "Got good auth");
 ok(! $Auth::printed, "Printed was not set");
 ok($Auth::set_cookie, "Set_cookie called");
 ok(! $Auth::deleted_cookie, "deleted_cookie was not called");
 
-$Auth::printed = $Auth::set_cookie = $Auth::deleted_cookie = 0;
+sub form_good2    { Auth->get_valid_auth({form => {%$form_good2}, cookies => {}              }) }
+Auth::reset();
 ok(form_good2(), "Got good auth");
 ok(! $Auth::printed, "Printed was not set");
 ok($Auth::set_cookie, "Set_cookie called");
 ok(! $Auth::deleted_cookie, "deleted_cookie was not called");
 
-$Auth::printed = $Auth::set_cookie = $Auth::deleted_cookie = 0;
+sub form_good3    { Aut2->get_valid_auth({form => {%$form_good3}, cookies => {}              }) }
+Auth::reset();
 ok(form_good3(), "Got good auth");
 ok(! $Auth::printed, "Printed was not set");
 ok($Auth::set_cookie, "Set_cookie called");
 ok(! $Auth::deleted_cookie, "deleted_cookie was not called");
 
-$Auth::printed = $Auth::set_cookie = $Auth::deleted_cookie = 0;
+sub form_bad      { Auth->get_valid_auth({form => {%$form_bad},   cookies => {}              }) }
+Auth::reset();
 ok(! form_bad(), "Got bad auth");
 ok($Auth::printed, "Printed was set");
 ok(! $Auth::set_cookie, "set_cookie called");
 ok(! $Auth::deleted_cookie, "deleted_cookie was not called");
+is($Auth::failed_login_user, 'test', 'correct user on failed passed information');
 
-$Auth::printed = $Auth::set_cookie = $Auth::deleted_cookie = 0;
+sub cookie_good   { Auth->get_valid_auth({form => {},             cookies => {%$cookie_good} }) }
+Auth::reset();
 ok(cookie_good(), "Got good auth");
 ok(! $Auth::printed, "Printed was not set");
 ok($Auth::set_cookie, "Set_cookie called");
 ok(! $Auth::deleted_cookie, "deleted_cookie was not called");
 
-$Auth::printed = $Auth::set_cookie = $Auth::deleted_cookie = 0;
+sub cookie_good2  { Auth->get_valid_auth({form => {},             cookies => {%$cookie_good2}}) }
+Auth::reset();
 ok(cookie_good2(), "Got good auth");
 ok(! $Auth::printed, "Printed was not set");
 ok($Auth::set_cookie, "Set_cookie called");
 ok(! $Auth::deleted_cookie, "deleted_cookie was not called");
 
-$Auth::printed = $Auth::set_cookie = $Auth::deleted_cookie = 0;
+sub cookie_bad    { Auth->get_valid_auth({form => {},             cookies => {%$cookie_bad}  }) }
+Auth::reset();
 ok(! cookie_bad(), "Got bad auth");
 ok($Auth::printed, "Printed was set");
 ok(! $Auth::set_cookie, "Set_cookie was not called");
-ok($Auth::deleted_cookie, "deleted_cookie was not called");
+ok($Auth::deleted_cookie, "deleted_cookie was called");
+is($Auth::failed_login_user, 'test', 'correct user on failed passed information');
+
+sub combined_good { Auth->get_valid_auth({form => {cea_user => "test"},  cookies => {%$cookie_good}}) }
+Auth::reset();
+ok(combined_good(), "Got good auth") || do {
+    my $e = $@;
+    use CGI::Ex::Dump qw(debug);
+    debug $e;
+    die;
+};
+ok(! $Auth::printed, "Printed was not set");
+ok($Auth::set_cookie, "Set_cookie was called");
+ok(! $Auth::deleted_cookie, "deleted_cookie was not called");
+
+sub combined_bad  { Auth->get_valid_auth({form => {cea_user => "test2"}, cookies => {%$cookie_good}}) }
+Auth::reset();
+ok(! combined_bad(), "Got bad auth");
+ok($Auth::printed, "Printed was set");
+ok(! $Auth::set_cookie, "Set_cookie was not called");
+ok($Auth::deleted_cookie, "deleted_cookie was called");
+is($Auth::failed_login_user, 'test2', 'correct user on failed passed information');
+
+sub combined_bad2 { Auth->get_valid_auth({form => {cea_user => "test"},  cookies => {%$cookie_bad}}) }
+Auth::reset();
+ok(! combined_bad2(), "Got bad auth");
+ok($Auth::printed, "Printed was set");
+ok(! $Auth::set_cookie, "Set_cookie was not called");
+ok($Auth::deleted_cookie, "deleted_cookie was called");
+is($Auth::failed_login_user, 'test', 'correct user on failed passed information');
+
+sub combined_bad3 { Auth->get_valid_auth({form => {cea_user => "test2/123"}, cookies => {%$cookie_good}}) }
+Auth::reset();
+ok(! combined_bad3(), "Got bad auth");
+ok($Auth::printed, "Printed was set");
+ok(! $Auth::set_cookie, "Set_cookie was not called");
+ok($Auth::deleted_cookie, "deleted_cookie was called");
+is($Auth::failed_login_user, 'test2', 'correct user on failed passed information');
+
+###----------------------------------------------------------------###
+
+Auth::reset();
+Auth->get_valid_auth({form => {%$form_good}, cookies => {}});
+ok($Auth::set_cookie, "Set_cookie called");
+ok($Auth::cookie->{'expires'}, "Cookie had expires");
+
+Auth::reset();
+Auth->get_valid_auth({form => {%$form_good}, cookies => {}, use_session_cookie => 0});
+ok($Auth::set_cookie, "Set_cookie called");
+ok($Auth::cookie->{'expires'}, "Cookie had expires");
+
+Auth::reset();
+Auth->get_valid_auth({form => {%$form_good}, cookies => {}, use_session_cookie => 1});
+ok($Auth::set_cookie, "Set_cookie called");
+ok(! $Auth::cookie->{'expires'}, "Session cookie");
+
+Auth::reset();
+Auth->get_valid_auth({form => {%$form_good}, cookies => {}, use_plaintext => 1});
+ok($Auth::set_cookie, "Set_cookie called");
+ok(! $Auth::cookie->{'expires'}, "Session cookie");
+
+Auth::reset();
+Auth->get_valid_auth({form => {%$form_good}, cookies => {}, use_plaintext => 1, use_session_cookie => 0});
+ok($Auth::set_cookie, "Set_cookie called");
+ok($Auth::cookie->{'expires'}, "Cookie had expires");
+
+Auth::reset();
+Auth->get_valid_auth({form => {%$form_good}, cookies => {}, use_plaintext => 1, use_session_cookie => 1});
+ok($Auth::set_cookie, "Set_cookie called");
+ok(! $Auth::cookie->{'expires'}, "Session cookie");
+
 
+###----------------------------------------------------------------###
 
 my $auth = Aut2->get_valid_auth({form => {%$form_good3}});
 my $data = $auth->last_auth_data;
@@ -118,7 +195,7 @@ SKIP: {
 
     sub form_good4   { Aut3->get_valid_auth({form => {%$form_good4}, cookies => {}              }) }
 
-    $Auth::printed = $Auth::set_cookie = $Auth::deleted_cookie = 0;
+    Auth::reset();
     ok(form_good4(), "Got good auth");
     ok(! $Auth::printed, "Printed was not set");
     ok($Auth::set_cookie, "Set_cookie called");
This page took 0.027011 seconds and 4 git commands to generate.