#!/usr/bin/perl
use strict;
use warnings;
-use Test::More tests => 34;
+use Test::More tests => 35;
use Test::MockObject::Extends;
use Test::MockObject;
use Test::Exception;
my $res_headers = HTTP::Headers->new;
$res->set_always( headers => $res_headers );
my $user = Test::MockObject->new;
+$user->set_isa('Catalyst::Authentication::User');
$user->mock(get => sub { return shift->{$_[0]} });
my $find_user_opts;
my $realm = Test::MockObject->new;
# Correct credentials
$req_headers->authorization_basic( qw/foo bar/ );
-ok($self->authenticate($c, $realm), "auth successful with header");
-is($authenticated, 1, 'authenticated once');
+{
+ my $user = $self->authenticate($c, $realm);
+ ok($user, "auth successful with header");
+ isa_ok $user, 'Catalyst::Authentication::User';
+}
+is($authenticated, 0, 'Not called set_authenticated');
is_deeply( $find_user_opts, { username => 'foo'}, "login delegated");
# Test all the headers look good.
$req_headers->clear;
$res_headers->clear;
$c->clear;
+$body = 'quuux';
{
my $self = new_self( type => 'any', password_type => 'clear',
authorization_required_message => undef
throws_ok {
$self->authenticate( $c, $realm );
} qr/^ $Catalyst::DETACH $/x, "detached";
- is( $body, undef, 'Body is not set - user overrode auth message');
+ is( $body, 'quuux', 'Body is not set - user overrode auth message');
}
# Check domain config works