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 index 1853c68..07715d8 100644 --- a/fastcgi.t +++ b/fastcgi.t
@@ -25,7 +25,7 @@ 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 @@ 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 @@ 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 index c873219..318a3da 100644 --- a/scgi.t +++ b/scgi.t
@@ -24,7 +24,7 @@ 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 @@ 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 @@ 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 index f1470d9..b2eaab3 100644 --- a/uwsgi.t +++ b/uwsgi.t
@@ -21,7 +21,7 @@ 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 @@ 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 @@ 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 {