blob: a5616290ad0dcf66058a45566b04f03474d416a0 [file] [log] [blame]
# please insert nothing before this line: -*- mode: cperl; cperl-indent-level: 4; cperl-continued-statement-offset: 4; indent-tabs-mode: nil -*-
package TestAPI::conn_rec;
# this test module is only for testing fields in the conn_rec listed
# in apache_structures.map (but some fields are tested in other tests)
use strict;
use warnings FATAL => 'all';
use Apache::TestUtil;
use Apache::Test;
use Apache2::RequestRec ();
use Apache2::RequestUtil ();
use Apache2::Connection ();
use Apache2::Const -compile => qw(OK CONN_CLOSE);
use constant APACHE24 => have_min_apache_version('2.4.0');
sub handler {
my $r = shift;
my $c = $r->connection;
plan $r, tests => 16;
ok $c;
ok $c->pool->isa('APR::Pool');
ok $c->base_server->isa('Apache2::ServerRec');
ok $c->client_socket->isa('APR::Socket');
ok $c->local_addr->isa('APR::SockAddr');
if (APACHE24) {
ok $c->client_addr->isa('APR::SockAddr');
# client_ip
{
my $client_ip_org = $c->client_ip;
my $client_ip_new = "10.10.10.255";
ok $client_ip_org;
$c->client_ip($client_ip_new);
ok t_cmp $c->client_ip, $client_ip_new;
# restore
$c->client_ip($client_ip_org);
ok t_cmp $c->client_ip, $client_ip_org;
}
}
else {
ok $c->remote_addr->isa('APR::SockAddr');
# remote_ip
{
my $remote_ip_org = $c->remote_ip;
my $remote_ip_new = "10.10.10.255";
ok $remote_ip_org;
$c->remote_ip($remote_ip_new);
ok t_cmp $c->remote_ip, $remote_ip_new;
# restore
$c->remote_ip($remote_ip_org);
ok t_cmp $c->remote_ip, $remote_ip_org;
}
}
ok $c->remote_host || 1;
ok !$c->aborted;
ok t_cmp($c->keepalive,
Apache2::Const::CONN_CLOSE,
"the client has issued a non-keepalive request");
ok $c->local_ip;
ok $c->local_host || 1;
t_debug "id ", ($c->id == 0 ? "zero" : $c->id);
ok $c->id || 1;
ok $c->notes;
# XXX: missing tests
# conn_config
Apache2::Const::OK;
}
1;