Apache-AuthTkt
view release on metacpan or search on metacpan
t/05_defaults.t view on Meta::CPAN
{
local $/ = undef;
$result{$f} = <FILE>;
}
close FILE;
chomp $result{$f};
}
close DATADIR;
# This allows you to specify a test to stop at, dumping the result
my $print = shift @ARGV || 0;
my $t = 4;
sub report {
my ($data, $file, $inc) = @_;
$inc ||= 1;
if ($print == $t) {
print STDERR "--> $file\n";
print "$data\n";
exit 0;
}
$t += $inc;
}
my ($at, $at2, $at3, $ticket, $cookie);
my $ts = 1108811260;
my $conf = dirname($0) . "/t05/01_auth_tkt.conf";
my $conf2 = dirname($0) . "/t05/02_auth_tkt.conf";
my $conf3 = dirname($0) . "/t05/03_auth_tkt.conf";
$ENV{REMOTE_ADDR} = '192.168.0.1';
# Setup
ok($at = Apache::AuthTkt->new(conf => $conf), 'conf constructor ok');
is($at->secret, 'bf07982e-a551-43cc-9d41-2f050a22e229', 'secret() ok');
is($at->ignore_ip, 1, '$at has ignore_ip true');
ok($at2 = Apache::AuthTkt->new(conf => $conf2), 'conf constructor ok');
is($at2->secret, 'bf07982e-a551-43cc-9d41-2f050a22e229', 'secret() ok');
is($at2->ignore_ip, 0, '$at has ignore_ip false');
ok($at3 = Apache::AuthTkt->new(conf => $conf3), 'conf constructor ok');
is($at3->secret, 'X,08d307810@R5%&aa49e7e0d9f0c9 ,X530023FB*e0941f1dkjf188797,tdt', 'secret() ok');
# Setup some reference tickets
my $remote_addr_tkt = $at->ticket(ts => $ts, ip_addr => $ENV{REMOTE_ADDR});
my $ignore_addr_tkt = $at->ticket(ts => $ts, ip_addr => undef);
my $ignore_addr_tkt2 = $at->ticket(ts => $ts, ip_addr => '0.0.0.0');
is($ignore_addr_tkt, $ignore_addr_tkt2, 'ignore_addr tickets match');
isnt($remote_addr_tkt, $ignore_addr_tkt, 'reference tickets differ');
#print "remote_addr_tkt: $remote_addr_tkt\n";
#print "ignore_addr_tkt: $ignore_addr_tkt\n";
# TKTAuthIgnoreIP test
$ticket = $at->ticket(ts => $ts);
is($ticket, $ignore_addr_tkt, 'unspecified ip_addr honours IgnoreIP on');
$ticket = $at2->ticket(ts => $ts);
is($ticket, $remote_addr_tkt, 'unspecified ip_addr honours IgnoreIP off');
# Setup some reference cookies
my $cookie1 = $at->cookie(ts => $ts, cookie_name => 'foobar', cookie_domain => 'example.com', cookie_secure => 1);
my $cookie2 = $at2->cookie(ts => $ts, cookie_name => 'fubah', cookie_secure => 0);
#print $cookie2 . "\n";
# Cookie defaults
$cookie = $at->cookie(ts => $ts);
is($cookie, $cookie1, 'cookie defaults honoured from 01_auth_tkt.conf');
$cookie = $at2->cookie(ts => $ts);
is($cookie, $cookie2, 'cookie defaults honoured from 02_auth_tkt.conf');
# vim:ft=perl
( run in 0.739 second using v1.01-cache-2.11-cpan-39bf76dae61 )