56235f9bae2e1b1a628805e944e7fafe79b9890e
[catagits/Catalyst-Plugin-RequireSSL.git] / t / 05ssl_host.t
1 #!perl
2
3 use strict;
4 use warnings;
5
6 use FindBin;
7 use lib "$FindBin::Bin/lib";
8
9 use Test::More tests => 6;
10 use Catalyst::Test 'TestApp';
11
12 TestApp->config->{require_ssl} = {
13     https => 'secure.mydomain.com',
14     http => 'www.mydomain.com',
15 };
16
17 # test an SSL redirect
18 ok( my $res = request('http://localhost/ssl/secured'), 'request ok' );
19 is( $res->code, 302, 'redirect code ok' );
20 is( $res->header('location'), 'https://secure.mydomain.com/ssl/secured', 'other domain redirect uri ok' );
21 isnt( $res->content, 'Secured', 'no content displayed on secure page, ok' );
22
23 # test redirect back to HTTP
24 SKIP:
25 {
26     skip "These tests require a patch to Catalyst", 2;
27     # patch is to Catalyst::Engine::HTTP::Base in 5.3x
28     #             Catalyst::Engine::Test in 5.5
29     ok( $res = request('https://secure.mydomain.com/ssl/unsecured'), 'request ok' );
30     is( $res->header('location'), 'http://www.mydomain.com/ssl/unsecured', 'other domain redirect uri ok' );
31 }
32