chiark / gitweb /
Testing: test.cgi: Provide debug output hook
[cgi-auth-flexible.git] / test.cgi
index 289ac71cbcb3642e0ec822e1e95a53f1ec20b018..d6de39911f4ab47eb69a2ee929fed58703d96ece 100755 (executable)
--- a/test.cgi
+++ b/test.cgi
@@ -10,14 +10,21 @@ use Data::Dumper;
 #use Carp::Always;
 $SIG{__DIE__} = sub { Carp::confess(@_) };
 
-my $dump = "$ENV{'CAHTEST_HOME'}/dump";
+my $dump = "$ENV{'CAHTEST_HOME'}/test-data";
 
-my $verifier = CGI::Auth::Flexible->new_verifier(
-    username_password_ok => sub { my ($c,$r,$u,$p)=@_; return $p eq 'sesame'; },
+my @verifier_params =(
+    username_password_error => sub {
+        my ($c,$r,$u,$p)=@_;
+        return $p eq 'sesame' ? undef : 'wrong password'
+    },
     encrypted_only => 0,
     promise_check_mutate => 1,
     dir => $dump,
-);
+    srcdump_filter_cwd => 0,
+    debug => sub { print STDERR "DEBUG ", @_[2..@_-1]; },
+    );
+
+my $verifier = CGI::Auth::Flexible->new_verifier(@verifier_params);
 
 END { $verifier->disconnect() if $verifier; }
 
@@ -43,18 +50,22 @@ Set-Cookie: $cookie
 <pre>
 END
 
-my %vars = $q->Vars();
-delete $vars{caf_assochash};
+my $newurl = $authreq->url_with_query_params($authreq->chain_params());
+my $newurl_esc = escapeHTML($newurl);
 
 my $txt = Data::Dumper->Dump([$authreq->get_username(), $authreq->mutate_ok(),
-                              $q->path_info(), \%vars],
-                             [qw(username mutate_ok path params)]);
+                              $q->path_info(),
+                              $authreq->chain_params(),
+                              scalar $q->Vars()],
+                             [qw(username mutate_ok path
+                                 authreq->chain_params() cgi->params())]);
 foreach my $l (split /\n/, $txt) {
     print escapeHTML($l),"\n";
 }
 
 print <<END;
 </pre>
+<a href="$newurl_esc">$newurl_esc</a>
 <form method="POST" action="$url">
 $hiddenhtml
 <input type="submit" name="test_cgi_sponges" value="Make sponges">