The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/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;