X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=tests%2Fcgi;h=e440948d6e530f559d4cfa4223c19c1a24754346;hb=412316a7005df29b1adb30835848490210498ecb;hp=b73e6aae57a0f4a7dcdc51e12df9c28ae5b19b71;hpb=71abfbffcb5c784a85589aaff02f9ab7ef4c93bc;p=cgi-auth-flexible.git diff --git a/tests/cgi b/tests/cgi index b73e6aa..e440948 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; @@ -32,6 +50,11 @@ my @verifier_params =( 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; } @@ -48,22 +71,38 @@ Content-Type: text/html Set-Cookie: $cookie TITLE -

H1

-

again

- -

info

-
+

ACCESSGRANTED

END my $newurl = $authreq->url_with_query_params($authreq->chain_params()); my $newurl_esc = escapeHTML($newurl); +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";
@@ -71,11 +110,17 @@ foreach my $l (split /\n/, $txt) {
 
 print <
-$newurl_esc
+self=$newurl_esc
+increment=$incrurl_esc
 
$hiddenhtml - - +END + +print < +END + +print <