blob: 39860084c5160962b43b4eca3dc62e806ce2ead5 [file] [log] [blame]
# please insert nothing before this line: -*- mode: cperl; cperl-indent-level: 4; cperl-continued-statement-offset: 4; indent-tabs-mode: nil -*-
use strict;
use warnings FATAL => 'all';
use Apache::Test;
use Apache::TestUtil;
use Apache::TestRequest;
use File::Spec::Functions qw(catfile);
use Apache2::Const -compile => qw(FORBIDDEN);
my $module = 'TestAPI::custom_response';
my $location = '/' . Apache::TestRequest::module2path($module);
my $config = Apache::Test::config();
my $hostport = Apache::TestRequest::hostport($config);
t_debug("connecting to $hostport");
my $file = catfile Apache::Test::vars('documentroot'),
qw(api custom_response.txt);
open my $fh, $file or die "Can't open $file: $!";
my $data = do { binmode $fh; local $/; <$fh> };
close $fh;
plan tests => 4, need need_lwp, 'HTML::HeadParser';
{
# custom text response
my $expected = "This_is_a_custom_text_response";
my $res = GET "$location?$expected";
ok t_cmp $res->code, Apache2::Const::FORBIDDEN, "custom text response (code)";
ok t_cmp $res->content, $expected, "custom text response (body)";
}
{
# custom relative url response
my $url = "/api/custom_response.txt";
my $res = GET "$location?$url";
ok t_cmp $res->content, $data, "custom file response (body)";
}
{
my $url = "http://$hostport/api/custom_response.txt";
# custom full url response
my $res = GET "$location?$url";
ok t_cmp $res->content, $data, "custom file response (body)";
}