X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=cgi-auth-flexible.git;a=blobdiff_plain;f=tests%2Fcgi;h=1e486d3cd8c2eded4617858dc6e07fe0fea80723;hp=764480d3fcecaf90485f06eefc30d49902941bef;hb=84f9fce0c2fd18154fdc3d36da648313de042455;hpb=18c57ef7d28752c58b6e0d93cea900e346f4c0fb diff --git a/tests/cgi b/tests/cgi index 764480d..1e486d3 100755 --- a/tests/cgi +++ b/tests/cgi @@ -1,5 +1,23 @@ #!/usr/bin/perl -w +# This is part of CGI::Auth::Flexible, a perl CGI authentication module. +# +# Copyright 2012,2013,2015 Ian Jackson. +# Copyright 2012,2013,2015 Citrix. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version, with the "CAF Login Exception" +# as published by Ian Jackson (version 1, or at your option any +# later version) as an Additional Permission. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. + + use strict; use warnings; use CGI qw/escapeHTML/;; @@ -10,7 +28,7 @@ use Data::Dumper; #use Carp::Always; $SIG{__DIE__} = sub { Carp::confess(@_) }; -my $dump = "$ENV{'CAFTEST_CAF'}/tests/tmp"; +my $dump = $ENV{'CAFTEST_TMP'} // 'tests/tmp'; my $q = CGI->new; @@ -28,10 +46,16 @@ my @verifier_params =( promise_check_mutate => 1, dir => $dump, srcdump_filter_cwd => 0, + srcdump_needlogin => 1, debug => sub { print STDERR "DEBUG ", @_[2..@_-1]; }, get_url => sub { return $url }, ); +push @verifier_params, ( + srcdump_prepare => sub { }, + ) + if $ENV{'CAFTEST_NOSRCDUMP'}; + my $verifier = CGI::Auth::Flexible->new_verifier(@verifier_params); END { $verifier->disconnect() if $verifier; } @@ -58,17 +82,28 @@ my $incrurl = $authreq->url_with_query_params ({ counter => [ ($q->param('counter')//0) + 1 ]}); my $incrurl_esc = escapeHTML($incrurl); +my @critters = qw(sponges worms); + +foreach my $make (@critters) { + my $param = $q->param("test_cgi_$make"); + if (!$param) { + print "NO-$make\n"; + } else { + $authreq->check_mutate(); + print "MAKING-$make\n"; + } +} + print <info

 END
 
 my $txt = Data::Dumper->Dump([$authreq->get_username(),
- $q->request_method eq 'POST' ? $authreq->check_mutate() : "(not POST)",
                               $q->path_info(),
                               $authreq->chain_params(),
                               scalar $q->Vars()],
-                             [qw(username mutate_ok path
+                             [qw(username path
                                  authreq->chain_params() cgi->params())]);
 foreach my $l (split /\n/, $txt) {
     print escapeHTML($l),"\n";
@@ -80,8 +115,13 @@ self=$newurl_esc
 increment=$incrurl_esc
 
$hiddenhtml - - +END + +print < +END + +print <