#!/usr/bin/perl
use strict;
use Perlbal::Test;
use Perlbal::Test::WebServer;
use Perlbal::Test::WebClient;
use Test::More;
use FindBin qw($Bin);
unless ($ENV{PERLBAL_TEST_ALPHA}) {
plan skip_all => 'Alpha feature; test skipped without $ENV{PERLBAL_TEST_ALPHA}';
exit 0;
} else {
plan tests => 4;
}
# setup a simple perlbal that uses the above server
my $pb_port = new_port();
my $conf = qq{
CREATE SERVICE test
SET test.role = reverse_proxy
SET test.listen = 127.0.0.1:$pb_port
SET test.persist_client = 1
SET test.persist_backend = 1
SET test.connect_ahead = 0
SET test.server_process = $Bin/helper/child-httpd.pl
ENABLE test
};
my $msock = start_server($conf);
ok($msock, 'perlbal started');
# make first web client
my $wc = Perlbal::Test::WebClient->new;
$wc->server("127.0.0.1:$pb_port");
$wc->keepalive(0);
$wc->http_version('1.0');
ok($wc, 'web client object created');
# see if a single request works
my $resp = $wc->request('status');
ok($resp, 'status response ok');
like($resp->content, qr/and I am pid=/, "got response from child process");
1;