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 {