# HG changeset patch # User Sergey Kandaurov # Date 1449676766 -10800 # Node ID d95c4b8e5517783f57976cbb1e336cb52c7a62e7 # Parent 51d3243a762f3f2c7aa2946e854ffb13a1b8dd0f Tests: more tests for passing requests to host given by expression. This complements tests for scgi_pass, fastcgi_pass, uwsgi_pass with variables that evaluate to an implicit upstream. diff --git a/fastcgi.t b/fastcgi.t --- a/fastcgi.t +++ b/fastcgi.t @@ -25,7 +25,7 @@ eval { require FCGI; }; plan(skip_all => 'FCGI not installed') if $@; plan(skip_all => 'win32') if $^O eq 'MSWin32'; -my $t = Test::Nginx->new()->has(qw/http fastcgi/)->plan(5) +my $t = Test::Nginx->new()->has(qw/http fastcgi/)->plan(6) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -46,6 +46,11 @@ http { fastcgi_pass 127.0.0.1:8081; fastcgi_param REQUEST_URI $request_uri; } + + location /var { + fastcgi_pass $arg_b; + fastcgi_param REQUEST_URI $request_uri; + } } } @@ -64,6 +69,8 @@ unlike(http_head('/'), qr/SEE-THIS/, 'no like(http_get('/stderr'), qr/SEE-THIS/, 'large stderr handled'); +like(http_get('/var?b=127.0.0.1:8081'), qr/SEE-THIS/, 'fastcgi with variables'); + ############################################################################### sub fastcgi_daemon { diff --git a/scgi.t b/scgi.t --- a/scgi.t +++ b/scgi.t @@ -24,7 +24,7 @@ select STDOUT; $| = 1; eval { require SCGI; }; plan(skip_all => 'SCGI not installed') if $@; -my $t = Test::Nginx->new()->has(qw/http scgi/)->plan(5) +my $t = Test::Nginx->new()->has(qw/http scgi/)->plan(6) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -47,6 +47,13 @@ http { scgi_param REQUEST_URI $request_uri; scgi_param HTTP_X_BLAH "blah"; } + + location /var { + scgi_pass $arg_b; + scgi_param SCGI 1; + scgi_param REQUEST_URI $request_uri; + } + } } @@ -66,6 +73,8 @@ unlike(http_head('/'), qr/SEE-THIS/, 'no like(http_get_headers('/headers'), qr/SEE-THIS/, 'scgi request with many ignored headers'); +like(http_get('/var?b=127.0.0.1:8081'), qr/SEE-THIS/, 'scgi with variables'); + ############################################################################### sub http_get_headers { diff --git a/uwsgi.t b/uwsgi.t --- a/uwsgi.t +++ b/uwsgi.t @@ -21,7 +21,7 @@ use Test::Nginx; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/http uwsgi/)->has_daemon('uwsgi')->plan(3) +my $t = Test::Nginx->new()->has(qw/http uwsgi/)->has_daemon('uwsgi')->plan(4) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -43,6 +43,11 @@ http { uwsgi_param SERVER_PROTOCOL $server_protocol; uwsgi_param HTTP_X_BLAH "blah"; } + + location /var { + uwsgi_pass $arg_b; + uwsgi_param SERVER_PROTOCOL $server_protocol; + } } } @@ -81,6 +86,8 @@ unlike(http_head('/head'), qr/SEE-THIS/, like(http_get_headers('/headers'), qr/SEE-THIS/, 'uwsgi request with many ignored headers'); +like(http_get('/var?b=127.0.0.1:8081'), qr/SEE-THIS/, 'uwsgi with variables'); + ############################################################################### sub http_get_headers {