ea3e5c62d56292f6664d36c65443c0f7cafd17dd
[catagits/Catalyst-Authentication-Credential-HTTP.git] / t / live_app.t
1 use strict;
2 use warnings;
3
4 use FindBin qw/$Bin/;
5 use lib "$Bin/lib";
6
7 use Test::More;
8 BEGIN {
9     do {
10         eval { require Test::WWW::Mechanize::Catalyst }
11         and
12         Test::WWW::Mechanize::Catalyst->VERSION('0.51')
13     }
14       or plan skip_all =>
15       "Test::WWW::Mechanize::Catalyst is needed for this test";
16 }
17 use HTTP::Request;
18
19 use Test::More;
20 use Test::WWW::Mechanize::Catalyst;
21 my $mech = Test::WWW::Mechanize::Catalyst->new(catalyst_app => 'AuthTestApp');
22 $mech->get("http://localhost/moose");
23 is( $mech->status, 401, "status is 401" ) or die $mech->content;
24 $mech->content_lacks( "foo", "no output" );
25 my $r = HTTP::Request->new( GET => "http://localhost/moose" );
26 $r->authorization_basic(qw/foo s3cr3t/);
27 $mech->request($r);
28 is( $mech->status, 200, "status is 200" );
29 $mech->content_contains( "foo", "foo output" );
30
31 AuthTestApp->get_auth_realm('test')->credential->no_unprompted_authorization_required(1);
32 $mech = Test::WWW::Mechanize::Catalyst->new(catalyst_app => 'AuthTestApp');
33 $mech->get("http://localhost/moose");
34 isnt( $mech->status, 401, "status isnt 401" ) or die $mech->content;
35
36 AuthTestApp->get_auth_realm('test')->credential->no_unprompted_authorization_required(0);
37 AuthTestApp->get_auth_realm('test')->credential->require_ssl(1);
38 $mech = Test::WWW::Mechanize::Catalyst->new(catalyst_app => 'AuthTestApp');
39 $r = HTTP::Request->new( GET => "http://localhost/moose" );
40 $r->authorization_basic(qw/foo s3cr3t/);
41 $mech->request($r);
42 is( $mech->status, 401, "status is 401" );
43
44 done_testing;
45